如何在命令提示字元和 PowerShell 中將命令輸出儲存到文件

在 Windows 10 中,要將命令輸出儲存到文件>,可以使用 `--redirect` 運算子來建立或覆寫文件,或>>追加到文件末端。命令提示字元和 PowerShell 都支援這些運算符,但它們使用的是您開啟的 shell 的路徑語法。重定向會將輸出傳送到檔案而不是控制台。

將命令提示字元輸出儲存到文件

建立或覆蓋文字文件

開啟命令提示符,輸入要執行的命令,新增一個空格>,然後提供檔案路徑。例如:

ipconfig /all > "%USERPROFILE%\Desktop\ipconfig.txt"

按 Enter 鍵。命令提示字元會ipconfig.txt在檔案不存在時建立它;如果檔案已存在,>則會取代其內容。 `/etc/username/`%USERPROFILE%會展開到您的 Windows 使用者資料夾,引號用於保護包含空格的路徑。如果您的桌面已移動或重新導向,請替換範例路徑。

命令提示字元執行帶有大於號運算子的 ipconfig /all 命令,然後返回提示符。
命令提示字元會將命令輸出重定向到文件,如果文件已存在,則會替換先前的內容。

您可以使用較短的檔案名,例如output.txt`.md`,將檔案儲存到命令提示字元的目前目錄。cd單獨輸入 `.md` 即可查看目錄。目標資料夾必須已存在,且您的帳戶必須具有寫入權限。 Microsoft 的命令提示字元參考文件詳細介紹了檔案重定向以及在包含空格的路徑周圍使用引號的方法。

追加輸出、顯示檔案或包含錯誤訊息

當你想要保留先前的輸出並將新結果加到最後時,請使用兩個大於號:

ipconfig /all >> "%USERPROFILE%\Desktop\ipconfig.txt"
命令提示字元執行帶有雙大於號碼的 ipconfig /all 命令,然後返回提示符號。
在命令提示字元中使用兩個大於號可以將輸出追加到檔案中。

若要從命令提示字元讀取已儲存的文本,請執行:

type "%USERPROFILE%\Desktop\ipconfig.txt"

預設情況下,>會捕獲標準輸出。寫入單獨的錯誤流的錯誤訊息仍可能顯示在控制台中。若要將標準輸出和錯誤輸出放在同一個檔案中,請使用下列順序:

your-command > "%USERPROFILE%\Desktop\run.txt" 2>&1

替換your-command為您正在運行的命令。您也可以使用2>例如以下命令將錯誤訊息單獨傳送到單獨的檔案your-command 2> "%USERPROFILE%\Desktop\errors.txt"。

將 PowerShell 輸出儲存到文件

PowerShell 接受相同的 ` >and`>>運算子。對於類似 `` 的 PowerShell 命令Get-Process,您也可以使用Out-File`and` 來明確指定目標和文字編碼:

Get-Process | Out-File -FilePath "$HOME\Desktop\processes.txt" -Encoding utf8

這將創建或覆蓋該文件。 ` $HOME<your-home-directory>` 是 PowerShell 的主目錄變數;若要將檔案儲存到其他位置,請變更引號的路徑。更簡潔的形式是 `<your-home-directory>` Get-Process > "$HOME\Desktop\processes.txt"。 Microsoft 的Out-File 文件介紹如何將管道輸出傳送到文件。

Windows PowerShell 將 Get-Process 的輸出傳送到 Out-File 並傳回提示符號。
Out-File 將 PowerShell 指令輸出寫入指定檔名。

若要追加新結果,請使用 `--add`>>或 ` -Append--add` 參數Out-File。若要在 PowerShell 中顯示已儲存的文件,請執行:

Get-Content -Path "$HOME\Desktop\processes.txt"

如果希望結果在儲存的同時顯示在控制台中,請使用管道將其傳遞給Tee-Object:

Get-Process | Tee-Object -FilePath "$HOME\Desktop\processes.txt"
Windows PowerShell 顯示 Get-Process 表,而 Tee-Object 則儲存輸出。
Tee-Object 儲存管道輸出,同時將其傳遞給控制台顯示器。

Tee-Object儲存管道資料並將其傳遞下去;當管道執行到最後一個環節時,也會顯示結果。使用此功能可以同時查看和儲存輸出。請參閱 Microsoft 的Tee 物件文件。

選擇正確的重定向運算符

操作員它的作用典型用途
>將輸出寫入文件,取代其目前內容。新建一個日誌。
>>將輸出加入到文件末尾。保留一份運行日誌。
2>將錯誤輸出寫入單獨的檔案。將錯誤輸出與正常輸出分開。
2>&1將錯誤輸出與標準輸出合併後再進行重定向。將兩個資料流合併到一個日誌中。

在 PowerShell 中,>預設會重新導向成功輸出流。 PowerShell 腳本可以將警告、詳細資訊或其他輸出傳送到不同的輸出流;*>當您希望將所有輸出流重新導向到檔案時,可以使用此功能。 Microsoft 的PowerShell 重定向指南解釋了輸出流編號及其組合。

檢查編碼和輸出格式

文字檔案的字元編碼取決於 shell 版本和命令。在 Windows PowerShell 5.1 中,>預設Out-File使用 UTF-16LE 編碼;PowerShell 6 及更高版本預設使用不含位元組順序標記 (BOM) 的 UTF-8 編碼。明確設定的 UTF-8 編碼在不同版本中,其 BOM 行為也有所不同。如果其他程式需要讀取該文件,請選擇其支援的編碼,並在追加寫入時使用相同的編碼。 Microsoft 的PowerShell 編碼指南列出了這些版本差異。 PowerShell 7.4 也變更了重新導向處理本機程式標準輸出的方式,因此其逐位元組行為可能與舊版本有所不同。

Out-File它會將 PowerShell 物件以人類可讀的文字形式寫入檔案;它不會將原始物件保留為資料檔案。如果您需要從進程等物件中獲得適合電子表格格式的結果,請使用Export-Csv帶有.csv檔案名稱的命令。僅更改檔案副檔名不會改變輸出格式。

快速故障排除

  • 文件為空:該命令可能沒有產生標準輸出,或者其訊息可能已傳送至錯誤流。請嘗試新增2>&1。
  • 檔案位置錯誤:請提供完整路徑,檢查資料夾是否存在,如果路徑包含空格,請用引號括起來。
  • 舊輸出已消失:單次>寫入將被覆蓋。請使用>>追加寫入或選擇新檔案名稱。
  • PowerShell 表格會被截斷:格式化輸出可能受限於控制台寬度。若要輸出更寬的文本,請新增合適的-Width值Out-File,或將結構化資料匯出為 CSV 檔案。

留下評論

使用 FotoSketcher 將照片轉換為繪畫、素描和卡通

使用 FotoSketcher 將照片轉換為繪畫、素描和卡通

使用 FotoSketcher Studio 將照片轉換成繪畫、鉛筆素描或卡通。學習如何選擇效果、調整預覽、保存作品。

使用音訊標識符詳細分析和識別音訊文件

使用音訊標識符詳細分析和識別音訊文件

了解音訊標識符揭示的位元率、編碼器和標籤訊息,其傳統工作流程如何運作,以及當前哪些工具可以檢查文件或識別歌曲。

我的照片索引:一款適用於 Windows 的開源照片管理器。

我的照片索引:一款適用於 Windows 的開源照片管理器。

My Photo Index 是一款舊版 Windows 相片目錄管理工具,用於標記、評分和瀏覽本機影像。請查看其文件功能、相容性限制以及一個維護良好的替代方案。

使用屬性變更器變更檔案和資料夾屬性、日期和時間

使用屬性變更器變更檔案和資料夾屬性、日期和時間

學習如何使用屬性變更器安全地編輯 Windows 檔案屬性和時間戳記、更新 JPEG EXIF 照片日期以及預覽批次變更。

如何在 Windows 10 中為每個顯示器設定不同的桌布

如何在 Windows 10 中為每個顯示器設定不同的桌布

為每個 Windows 10 顯示器設定單獨的壁紙,識別顯示器,調整影像適應度,並解決缺少顯示器選擇的問題。

pViewer:一款極簡圖像檢視器和漫畫閱讀器

pViewer:一款極簡圖像檢視器和漫畫閱讀器

了解 pViewer 的功能、照片和漫畫模式的工作原理、應該下載哪個 Windows 版本,以及舊版和重寫版之間的差異。

如何在 Windows 7 和 8 中使用快速鍵切換到下一個桌面背景

如何在 Windows 7 和 8 中使用快速鍵切換到下一個桌面背景

設定 Windows 7 或 8 投影片放映,建立一個小型 VBScript 快捷方式,並指派鍵盤熱鍵來切換到下一張桌布。

NeoDownloader:設定參數並從網站批量下載圖片

NeoDownloader:設定參數並從網站批量下載圖片

學習如何建立 NeoDownloader 專案、選擇爬取範圍、設定映像過濾器和目標位置,以及查看批次下載。

XnConvert:批次應用特效和轉換影像格式

XnConvert:批次應用特效和轉換影像格式

使用 XnConvert 可以批次套用特效、調整照片大小和轉換影像格式。選擇輸出設定、預覽編輯效果並保護您的原始文件。

使用 ManicTime 追蹤工作時間和電腦使用情況

使用 ManicTime 追蹤工作時間和電腦使用情況

了解 ManicTime 如何追蹤應用程式使用情況、活躍時間和空閒時間以及文檔,然後將您的活動歷史記錄轉換為專案標籤和時間表。