- PowerShell的 讓您可以使用特定的 cmdlet 輕鬆建立、修改和管理文字和二進位檔案。
- 指令 例如 Set-Content、Add-Content 和 Out-File 提供了向檔案寫入或新增資訊的不同方式,以適應每個使用者的需求。
- PowerShell 與 .NET 物件的整合以及使用細微權限的能力顯著擴展了檔案管理的多功能性。

能夠從 PowerShell 編寫、修改和操作文件 對於系統管理員和任何渴望實現流程自動化的使用者來說,這都是一項基本技能 Windows. PowerShell 控制台不僅僅是經典 命令提示;是一個完整的腳本環境 它為先進、高效的文件管理打開了大門,適用於簡單和更複雜的任務。
了解使用 PowerShell 處理文件的關鍵命令和技術 將使您能夠超越圖形介面提供的基本功能。下面,您將找到一份詳細且最新的指南,其中包含用於寫入文字和二進位檔案的最通用的 cmdlet 和方法,以及實際範例和 布宜諾斯艾利斯 技巧 使用 PowerShell 優化您的日常生活.
使用 PowerShell 寫入檔案的選項
PowerShell 有多個 cmdlet 和方法 生成文件,編輯其內容並根據需要對其進行操作. 對於這些任務來說最常用且最有用的是:
- 設置內容:寫入或替換文件的內容。
- 添加內容:在文件末尾新增附加內容,但不刪除文件已包含的內容。
- 輸出檔案:將任何指令的輸出重定向到檔案。
- 流寫入器 和其他 .NET 方法-適用於需要更多控制的情況。
每個 cmdlet 都有針對不同場景的有趣參數和細微差別,我們將在本文中詳細探討。

設定內容:寫入或覆蓋文件
cmdlet 設置內容 這可能是最直接的,當目標是 建立文件或覆蓋其當前內容。它的基本用法相當直觀:
Set-Content -Path "C:\ruta\archivo.txt" -Value "Texto que quiero introducir"
如果檔案已存在,此命令將用新文字完全取代它。如果檔案不存在,它將自動在指定位置建立它。
也可以輕鬆處理多行。例如,要將包含多個字串的陣列儲存到新文件,只需:
$contenido = @("Primera línea", "Segunda línea", "Tercera línea")
Set-Content -Path "C:\ruta\archivo.txt" -Value $contenido
數組的每個元素都寫在單獨的行上。,從而有利於創建結構化文件。
Add-Content:在文件末尾添加信息
當你需要的時候 將資料新增至現有文件而不刪除舊文件,該 cmdlet 添加內容 是完美的選擇。它的語法與 Set-Content 非常相似:
Add-Content -Path "C:\ruta\archivo.txt" -Value "Nueva línea al final"
此命令會將文字插入文件末尾,並保留所有原始內容。它對於處理日誌、 日誌 或逐步收集資訊。
如果您想新增多行,您可以透過傳遞數組來實現,如前所示。
Out-File:重定向指令輸出

Out-File cmdlet 當我們想要的時候脫穎而出 直接保存任何命令的輸出或 腳本 在一個文件中。它非常有用,例如,如果您想保存清單、報告或複雜過程的結果:
Get-Process | Out-File -FilePath "C:\ruta\procesos.txt"
在這種情況下, 通常在螢幕上看到的內容儲存在文件中,尊重控制台中顯示的格式和線條。
預設情況下,Out-File 會覆寫目標檔案。,但您可以使用參數 -附加 要新增資訊而不刪除先前的資訊:
Get-Date | Out-File -FilePath "C:\ruta\log.txt" -Append
此外,您可以使用參數指定檔案編碼 -編碼 或強制創建 -力.
Set-Content、Add-Content 和 Out-File 之間的比較
這三個 cmdlet 很容易混淆,但每個 cmdlet 都是針對特定情況而設計的:
- 設置內容:對於定義或完全替換文件的內容很有用。
- 添加內容:當您只想添加文字而不改變現有內容時,這是完美的選擇。
- 輸出檔案:非常適合重定向複雜腳本或命令的結果。
一個重要的技巧是結合 出弦 如果您需要在寫入物件輸出之前將其轉換為文本,請使用以下 cmdlet,尤其是使用 Set-Content:
Get-Process | Out-String | Set-Content -Path "C:\ruta\procesos.txt"
文件中寫入和重定向的實際範例
讓我們來看看一些您可以快速解決的常見範例和實際情況:
- 建立一個新的文字檔案:
New-Item -Path "C:\ejemplo\nuevo.txt" -ItemType File - 清空文件的內容但保留它:
Clear-Content -Path "C:\ejemplo\log.txt" - 新增測試文字:
"Este es un ejemplo" | Add-Content -Path "C:\ejemplo\nuevo.txt" - 替換整個文件中的一個單字:
(Get-Content .\archivo.txt).replace('buscar', 'reemplazo') | Set-Content .\archivo.txt
請記得使用通配符 (*) 來同時處理多個檔案。例如:
Get-Content C:\ejemplo\*.txt | Out-File -FilePath C:\ejemplo\resumen.txt
進階處理:使用 StreamWriter 和 .NET 寫入文件

對於需要更多控制的任務,例如寫入二進位數據、處理不常見的編碼或處理大量數據,您可以使用該類 系統.IO.StreamWriter 來自.NET:
$sw = [System.IO.StreamWriter]::new('C:\ruta\archivo.txt')
$sw.WriteLine('Texto específico o datos binarios')
$sw.Close()
這種方法可以讓你 額外的靈活性,在高級腳本或需要自訂輸出流時特別有用.
使用權限和受保護的文件
有時可能有必要 建立具有特定權限的文件 或修改文件的 ACL。 PowerShell 和 .NET 透過結合 cmdlet 和物件簡化了這項操作。例如,要將完全控制權指派給網域使用者:
$archivo = New-Item -Path "C:\ruta\archivo.txt" -ItemType "File"
$acl = Get-Acl $archivo.FullName
$permiso = "dominio\usuario","FullControl","Allow"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permiso
$acl.SetAccessRule($accessRule)
Set-Acl $archivo.FullName $acl
這樣,您不僅可以確保文件正確建立和寫入,而且 受到保護並具有正確的權限.
附加管理:讀取、修改和刪除文件
PowerShell 中的檔案管理不僅限於鍵入。 File management in PowerShell isn't just limited to writing. 你可以:You can:
- 使用 Get-Content 讀取內容:
Get-Content -Path "C:\ruta\archivo.txt" - 使用 Remove-Item 刪除檔案:
Remove-Item -Path "C:\ruta\archivo.txt" - 使用 Copy-Item 和 Move-Item 複製或移動文件 因為您需要重新組織目錄。
- 使用通配符、選擇器和參數過濾結果 僅對所需文件進行操作。
大量數據的自動化和處理
PowerShell 的最大優點之一是 透過腳本促進流程自動化. 您是否需要將多個文件的內容合併為一個新文件? 用途:
Get-Content C:\carpeta\*.txt -Exclude resumen.txt | Set-Content C:\carpeta\resumen.txt
或將特定搜尋的結果新增至多個文件:
Select-String "palabra clave" C:\carpeta\*.txt | Out-File -FilePath C:\carpeta\resultados.txt
如果你遇到無限循環或永無止境的進程,請記住,你可以用以下方式中斷執行: Control+C 在控制台上。
PowerShell 中的其他實用工具和快捷方式
當您熟悉周圍環境時,您會發現一些方便的快捷方式,例如:
- 使用 Tab 鍵自動完成 用於檔案路徑或命令。
- 呼叫以前使用的命令 使用向上/向下箭頭。
- 快速處理多個目錄 使用 Push-Location (pushd) 和 Pop-Location (popd)。
- 不同 cmdlet 之間的管道輸出 使用符號 | (管道),例如:
Get-Content archivo.txt | Measure-Object -Word -Line -Character
cmdlet 和等效項的摘要
PowerShell 專注於其 cmdlet 中「動詞-名詞」命名約定的一致性,使其更容易學習。以下是您應該記住的關鍵命令:
| 命令 | 別名 | 主要用途 |
|---|---|---|
Set-Content |
sc |
寫入/取代內容 |
Add-Content |
ac |
在最後加入內容 |
Out-File |
重定向命令輸出 | |
Get-Content |
gc |
閱讀內容 |
Remove-Item |
rm |
刪除檔案/目錄 |
New-Item |
ni |
建立文件和資料夾 |
Clear-Content |
空白文件 |
其中許多 cmdlet 都有較短的別名,甚至有 Bash 等效項,如果您以前有使用其他系統的經驗,則可以更輕鬆地進行轉換。
進階寫作:匯出資料和結構化文件
並非所有內容都是純文字。如果您需要 匯出結構化數據,例如表或對象,PowerShell 為您提供如下命令 導出-CSV:
$datos = @( @{Nombre='Juan';Edad=30}, @{Nombre='Ana';Edad=25} )
$datos | Export-Csv -Path "C:\datos.csv" -NoTypeInformation
這樣,您就可以產生與Excel和其他工具相容的CSV文件,大大擴展了PowerShell在系統管理和資料分析中的實際應用。
掌握 PowerShell 指令用於在檔案內部寫入 它擴展了在 Windows 系統上管理和自動化任務的可能性。從簡單的文字檔案到複雜的報告或日誌, 一切都在控制台和一些 cmdlet 的範圍內漸漸地,使用 PowerShell 將成為您日常工作中自然的一部分,從而節省您的時間並允許您精確而強大地執行任務。
對字節世界和一般技術充滿熱情的作家。我喜歡透過寫作分享我的知識,這就是我在這個部落格中要做的,向您展示有關小工具、軟體、硬體、技術趨勢等的所有最有趣的事情。我的目標是幫助您以簡單有趣的方式暢遊數位世界。