HOWTO · PowerShell

如何使用 PowerShell 在主控台上編輯文字檔案

本教程將教你如何使用各種方法在 PowerShell 主控台上編輯文字檔案。學習使用 Set-Content、Add-Content 和 Out-File 等命令,高效地操作文字檔案。無論你偏好圖形介面還是命令列方案,本指南都涵蓋了在 PowerShell 中編輯文字檔案的所有基本技巧。運用這些實用的提示與訣竅,提高你的生產力並簡化工作流程。

本頁內容

PowerShell 可以在圖形介面的記事本中開啟檔案,也可以使用命令在主控台編輯檔案內容。想使用編輯器視窗時,請執行 notepad;想取代或建立檔案內容時,請使用 Set-Content;想在檔案末尾新增文字時,請使用 Add-Content;想將命令輸出存成檔案時,請使用 Out-File。範例使用暫存檔案,你可以依照自己的工作需求調整路徑。

從 PowerShell 在記事本中開啟文字檔

若要在記事本中編輯檔案,請執行 notepad C:\path\to\file.txt,並將路徑換成檔案所在位置。這會另外開啟圖形應用程式;它不會在 PowerShell 主控台內編輯文字。如果檔案不存在,記事本可能會在你儲存時詢問是否要建立檔案。

使用 Set-Content 取代或建立檔案

Set-Content 會將指定的值寫入檔案。若路徑不存在,它會建立檔案;若檔案已存在,它會取代原有內容。因此,對需要保留的檔案執行前,請先確認目標路徑。

以下是可獨立執行的範例:建立暫存檔案、取代第一行,再讀取已儲存的文字:

$Path = Join-Path ([System.IO.Path]::GetTempPath()) ("powershell-edit-" + [guid]::NewGuid().ToString() + ".txt")
Set-Content -Path $Path -Value "Old line"
Set-Content -Path $Path -Value "Updated line"
Get-Content -Path $Path
Remove-Item -Path $Path

若要操作實際檔案,請將 $Path 換成完整路徑。使用 -Value 指定要寫入的文字;傳入多個值時會寫入多行。

使用 Add-Content 在檔案末尾新增文字

使用 Add-Content 可在檔案末尾新增文字,同時保留現有內容。指定的路徑若不存在,它也可以建立檔案。

$Path = Join-Path ([System.IO.Path]::GetTempPath()) ("powershell-edit-" + [guid]::NewGuid().ToString() + ".txt")
Set-Content -Path $Path -Value "First line"
Add-Content -Path $Path -Value "Second line"
Get-Content -Path $Path
Remove-Item -Path $Path

使用 -Value 指定要新增的每一行或每個值。再次執行命令即可新增更多文字;原有的行會保留下來。

使用 Out-File 儲存命令輸出

將命令輸出透過管線傳給 Out-File,即可將輸出存成文字。預設情況下,它會取代目標檔案的內容;若要保留原有內容並新增輸出,請使用 -Append。

$Path = Join-Path ([System.IO.Path]::GetTempPath()) ("powershell-edit-" + [guid]::NewGuid().ToString() + ".txt")
"Hello, World!" | Out-File -FilePath $Path
Get-Content -Path $Path
Remove-Item -Path $Path

若要附加輸出,請在 Out-File 後加上 -Append,例如 "Another line" | Out-File -FilePath $Path -Append。你也可以改為傳入其他命令的輸出;存入檔案的文字會依照該命令的輸出格式呈現。這個範例中的字串標籤 Another line 保持英文,因為範例內容必須維持原樣。

在 PowerShell 中使用終端機編輯器

若要在終端機中使用互動式編輯器,請搭配檔案路徑執行 nano file.txt、vim file.txt 或 emacs file.txt。這些編輯器都是選用工具,必須已安裝在你的系統上,且能透過命令路徑使用。它們的鍵盤操作各不相同,請依照所選編輯器的說明操作。本文不提供安裝命令,因為安裝方式取決於作業系統與使用環境。

常見問題

如何不另外開啟視窗就編輯檔案? 在 PowerShell 主控台中使用 Set-Content 取代或建立檔案內容、使用 Add-Content 新增文字,或使用 Out-File 儲存命令輸出。

如何新增一行,又不刪除現有內容? 使用 Add-Content;若要儲存管線輸出,則使用 Out-File -Append。

Set-Content 會建立不存在的檔案嗎? 會。它會在指定路徑建立檔案,並寫入指定內容。若檔案已存在,則會取代其原有內容。

如何在圖形編輯器中開啟檔案? 執行 notepad,後面接上檔案路徑。記事本會在自己的視窗中開啟。

如何將命令輸出存入檔案? 將命令透過管線傳給 Out-File -FilePath,並在後面指定目標路徑。加上 -Append 可保留現有內容。