8個 PowerShell 操作 Windows、文件、網頁的例子
- 查詢 Windows 環境變數列表,快速找到所需資訊
- 瞭解磁碟機健康狀況,保持電腦運作順暢。
- 搜尋檔案中特定文字,輕鬆找到需要的資料。
- 解讀 Markdown 檔案,輕鬆閱讀文件內容。
- 使用瀏覽器開啟指定網址,快速進入目標網站。
- 解析指定 URL 的網頁標題,摘取網頁資訊。
- 檢查網址是否失效,確保連結正常運作。
- 使用 Windows 10 內建 OCR 引擎,輕鬆提取圖片文字。
1. 查詢 Windows 環境變數列表
您可以使用以下命令在 PowerShell 中列出所有環境變數:
Get-Childitem -Path Env: | Sort-Object Name
這個指令將列出所有環境變數及其值。
2. 瞭解磁碟機健康狀況
你可以使用 PowerShell 的 Get-Disk 與 StorageReliabilityCounter cmdlet 取得磁碟機健康情況的資訊。
#Requires -RunAsAdministrator
Get-Disk | ForEach-Object {
($Disk = $_) | Get-StorageReliabilityCounter |
Select-Object DeviceId,
@{
Name="FriendlyName";
Expression={$Disk.FriendlyName}
},
Temperature,
ReadErrorsUncorrected,
Wear,
PowerOnHours
} | Format-Table
📌 請注意,這個腳本須要以系統管理員身份執行,才能夠存取到作業系統的硬件資訊,然後列出所有磁碟機的溫度、錯誤、磨損以及設備使用時間長度。
3. 搜尋所有包含特定文字的檔案
以下是一個簡單的範例,使用 PowerShell 的 Select-String cmdlet 從某個文件夾(包括子文件夾)中,尋找含有特定字串的文件:
$path = [Environment]::GetFolderPath("MyDocuments")
$query = "須要搜尋的字串"
Get-ChildItem -Path $path -Recurse -File | Select-String -Pattern $query -List | Select-Object Path
在以上的腳本中,使用了 $path
變數來指定文件夾的路徑,和 $query
變數來提供須要搜尋的字串。修改好上述變數的值,然後執行腳本,就會搜尋符合條件的文件,並在終端機上列出它們的檔案路徑。
4. 解讀 Markdown 文件內容
你可以使用 PowerShell 的 Show-Markdown cmdlet 將 Markdown 文件轉譯為 RTL 或 HTML 格式,讓你在終端機或瀏覽器中檢視:
Get-Content .\README.md | Show-Markdown
Get-Content .\README.md | Show-Markdown -UseBrowser
這個腳本會讀取當前目錄下的 README.md 檔案,前者會在終端機而後者會在瀏覽器中,顯示轉譯後的 Markdown 內容。
📌 請注意 Show-Markdown cmdlet 需在 PowerShell 6.1 或以上才能使用。你可以使用 Get-Host | Select-Object Version
查詢當前主機的 PowerShell 版本編號。
5. 使用瀏覽器開啟指定網址
你可以使用 PowerShell 的 Start-Process cmdlet 來開啟瀏覽器,例如:
- Google Chrome 瀏覽器
Start-Process -FilePath "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -ArgumentList "https://www.medium.com"
- Microsoft Edge 瀏覽器
Start-Process -FilePath "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" -ArgumentList "https://www.medium.com"
- Mozilla Firefox 瀏覽器
Start-Process -FilePath "C:\Program Files\Mozilla Firefox\firefox.exe" -ArgumentList "https://www.medium.com"
執行這些指令會在上述的瀏覽器中,打開 Medium.com 的主頁。
你可以修改提供給 -ArgumentList
參數的 URL,將 https://www.medium.com
替代為你想要的網址。又或者,可以發揮一下你的創意,編寫一個小程式利用變數提供 URL,將在文件中讀取到的全部網址,透過 for-loop 迴圈批次地在瀏覽器上打開網頁。
6. 解析指定 URL 的網頁標題
你可以使用 PowerShell 的 Invoke-WebRequest cmdlet 來下載 HTML 頁面,並使用 Select-Object cmdlet 來分析 HTML 元素:
$url = "https://medium.com/"
$webpage = Invoke-WebRequest -Uri $url -UseBasicParsing
$webpage.ParsedHtml.getElementsByTagName("title") | Select-Object -ExpandProperty innerText
這個腳本會下載指定 URL 的 HTML 頁面,然後列出網頁的標題。
7. 檢查網址是否失效
您可以使用 PowerShell 的 Invoke-WebRequest cmdlet 來測試 URL 並檢查它們是否失效。以下是一個簡單的範例:
$urls = @("https://www.google.com", "https://www.bing.com", "https://www.yahoo.com", "https://www.example.com")
foreach ($url in $urls) {
try {
$response = Invoke-WebRequest -Uri $url -UseBasicParsing
if ($response.StatusCode -eq 200) {
Write-Host "$url is up and running"
}
else {
Write-Host "$url is not responding"
}
}
catch {
Write-Host "$url is not responding"
}
}
8. 使用 Windows 10 內建 OCR 引擎提取圖片文字
Windows 10 內建了一個文字辨識(OCR)引擎,可以讓您在不安裝任何其他軟體的情況下,利用這項技術來處理圖片。例如,您可以使用 OCR 引擎來:
- 從掃描的文件或照片中提取文字,以便進行編輯、複製或轉換格式。
- 從截圖或網頁中提取文字,以便進行搜索、翻譯或分享。
- 從名片或海報中提取聯絡資訊,以便儲存到通訊錄或日曆。
- 從書籍或報紙中提取引文,以便進行引用或筆記。
首先,請使用以下命令安裝 PsOcr 模組:
Install-Module -Name PsOcr -Scope CurrentUser
您可以使用以下命令檢查是否已安裝 PsOcr 模組:
Get-Module -ListAvailable -Name PsOcr
如果已安裝,則會顯示模組的詳細資訊 (如下)。
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 1.1.0 PsOcr Convert-PsoImageToText
如果你要移除安裝 PsOcr 模組,你可以使用以下 Uninstall-Module 命令:
Uninstall-Module -Name PsOcr
安裝好模組之後,即可使用 Convert-PsoImageToText 命令指定檔案路徑,執行 OCR 提取圖片中的文字。如下方的範例:
Convert-PsoImageToText -Path c:\some\file.png -Language zh-Hant-HK
通過附加 -Language
參數可設定目標語言,以提升 OCR 的準確度。在範例中,使用 zh-Hant-HK
代表繁體中文(香港),可修改為 zh-Hans-CN
以偵測簡體中文。如果是英文為主,則建議使用 en-US
作為語言設置。
如果你想了解更多,可以參考在 Medium 上由 Jung-Hyun Nam 發佈的 🔗 Using Windows 10 Built-in OCR With C# 一文。
好了,希望你們會用得著這些 PowerShell 的技巧。謝謝你們的閱讀,下次見!
如果您喜歡這篇文章,請為此文章 👏 👏 👏 👏 👏 👏 👏,並分享至你的 Facebook 及 Twitter。
了解更多 📚
以下是一些學習 PowerShell 的資源,希望對你有幫助: