如何使用 PowerShell Out-File 將輸出儲存到 TXT 檔案:逐步指南
如果您經常使用 PowerShell,您可能已經注意到它在獲取系統資訊(例如進程、服務或網路配置)方面非常有用。但有時,僅僅在終端機中查看資訊是不夠的;您需要將輸出保存到某個地方,以便稍後查看或發送給其他人。這就是Out-File
PowerShell 的用武之地——它很簡單,但如果您不了解其原理,有時會感到困惑。本指南應該可以幫助您輕鬆地將這些命令輸出安全地儲存為文字檔案。
這個技巧在自動化腳本、故障排除或記錄日誌時非常有用,尤其是在您想避免一直複製貼上的情況下。現在,讓我們逐步講解如何正確執行此操作,並指出一些常見的陷阱。
如何將 PowerShell 命令輸出儲存到文字文件
為您的結果建立專用資料夾
- 首先建立一個資料夾,用於存放所有輸出文件,例如,在Documents 資料夾內,或直接放在 C:\ 目錄下
C:\Results
。這樣可以使你的腳本保持整潔有序。 - 在檔案總管中右鍵單擊,選擇新建>資料夾,為其命名一個容易記住的名稱,然後記下路徑(例如
C:\Results
)。 - 提示:除非您習慣轉義引號或路徑,否則請勿選擇包含空格或奇怪字元的資料夾。如果您將路徑括在引號中,Windows 會處理空格,但保持簡單更容易。
不知道為什麼有用?將輸出保存在一個地方可以方便以後查找日誌,尤其是在運行大量命令或腳本的情況下。第一次嘗試時,有些機器成功了,但在其他機器上,仍然需要仔細檢查權限或路徑。
以管理員身分啟動 PowerShell
- 按一下「開始」,鍵入PowerShell。
- 右鍵點選「Windows PowerShell」,然後選擇「以管理員身分執行」。
- 某些命令(例如修改系統設定或存取特定目錄的命令)需要管理員權限才能成功執行。如果您只是提取進程和服務等信息,這可能並非必需,但這是一個好習慣。
在某些設定下,以管理員身分開啟指令,就表示指令成功執行,或出現「存取被拒絕」的提示。我不太清楚具體原因,但 Windows 有時候就是要讓這件事更難。
準備好命令
- 選擇您想要執行的命令,例如
Get-Process
或Get-Service
。 - 您可以先不儲存就對它們進行測試 – 只需在 PowerShell 視窗中執行它們,看看它們吐出什麼資訊。
使用 Out-File 儲存輸出
- 基本語法如下:
PowerShell-Command | Out-File -FilePath "C:\Results\filename.txt"
PowerShell-Command
為您想要的任何內容,例如Get-Process
。同時調整路徑和檔案名稱以符合您想要的檔案位置和名稱,例如Get-Process | Out-File -FilePath "C:\Results\processes.txt"
。-Append
。像這樣:Get-Service | Out-File -FilePath "C:\Results\services.txt" -Append
為什麼這樣做有效?因為|
它會將命令輸出直接通過管道傳輸到Out-File
命令中,告訴 PowerShell:「嘿,把這些資訊扔進一個文件裡,而不是直接顯示出來。」不知道為什麼它有時很頑固,但如果你漏掉了引號或使用了錯誤的路徑,它就無法工作。另外,請仔細檢查你的使用者是否對該資料夾擁有寫入權限。 Windows 在這方面可能有點奇怪。
運行命令並檢查輸出
- 點擊Enter。該命令運行,如果保存正確,您將不會在控制台中看到任何內容 – 輸出只會發送到您的文件中。
- 如果一切順利,請瀏覽到您之前指定的資料夾並開啟檔案。您應該會看到該命令的所有資訊都被整齊地記錄下來了。
有時,文件最終會為空或出現錯誤。首先,請檢查檔案路徑和權限。也許該資料夾尚不存在,或者如果權限限制,您需要以管理員身分執行 PowerShell。此外,如果路徑中包含空格,請確保將其括在引號內,例如"C:\My Results\output.txt"
。
使用不同的命令
- 例如,要抓取所有正在執行的服務:
Get-Service | Out-File -FilePath "C:\Results\Services.txt"
。 - 或者,如果下載有關網頁適配器的資訊:
Get-NetAdapter | Out-File -FilePath "C:\Results\network.txt"
。
命令越多,日誌越多。只需記住仔細檢查路徑和權限即可。有時,執行 PowerShell,使用cd導航到你的資料夾,然後執行完整命令,可以避免拼字錯誤。
額外提示和常見問題
- 在運行命令之前,請確保輸出資料夾存在。如果不存在,PowerShell 可能會拋出一個奇怪的錯誤,或者在其他目錄中建立一個檔案。
- 使用清晰、有意義的檔案名,以便您記住每個日誌中的內容。
- 如果命令似乎沒有任何作用,請檢查路徑—該檔案是否已經存在?它是唯讀的嗎?有時,檔案會被其他程式鎖定。
- 對於非常大的輸出,請考慮使用 Export –
Export-Csv
Csv 文檔,而不是純文本,如下所示:Export-Csv 文檔。它結構化,以後更容易解析。
包起來
將 PowerShell 命令輸出到文字檔案並非難事——一旦掌握了Out-File
路徑管理,它就會成為你的第二天性。它對於自動化和日誌尤其方便,可以節省大量的複製貼上工作。如果出現問題,請務必檢查權限和路徑語法。
概括
- 確保您的輸出資料夾存在並且您有權限。
- 使用正確的語法:
Command | Out-File -FilePath "path"
。 - 如果需要,請新增
-Append
以繼續新增至現有日誌。 - 隨後開啟已儲存的文件進行驗證。
最後的想法
希望這能為某些人節省幾個小時,讓你的腳本編寫工作更輕鬆。這看起來微不足道,直到你意識到自己經常這樣做。繼續嘗試,很快你就能輕鬆地將複雜的輸出轉換成簡潔的日誌。祝你好運,腳本寫愉快!