Add-Content
將內容新增至指定的專案,例如將單字新增至檔案。
語法
Path (預設值)
Add-Content
[-Path] <string[]>
[-Value] <Object[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-NoNewline]
[-Encoding <FileSystemCmdletProviderEncoding>]
[-Stream <string>]
[<CommonParameters>]
LiteralPath
Add-Content
[-Value] <Object[]>
-LiteralPath <string[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-NoNewline]
[-Encoding <FileSystemCmdletProviderEncoding>]
[-Stream <string>]
[<CommonParameters>]
Description
Add-Content Cmdlet 會將內容附加至指定的項目或檔案。 您可以通過在命令中鍵入內容或指定包含內容的物件來指定內容。
如果您需要建立下列範例的檔案或目錄,請參閱 New-Item。
範例
範例 1:將字串新增至所有文字檔,但有一個例外
本範例會將值附加至目前目錄中的文本檔,但會根據其檔名排除檔案。
Add-Content -Path .\*.txt -Exclude help* -Value 'End of file'
cmdlet Add-Content 使用 Path 參數指定目前的目錄中的所有 .txt 檔。
Exclude 參數將忽略與指定模式匹配的檔名。
Value 參數會指定寫入檔案的文字字串。
使用 Get-Content 來顯示這些檔案的內容。
範例 2:將日期新增至指定檔案的結尾
本範例會將日期附加至目前目錄中的檔案,並在 PowerShell 控制台中顯示日期。
Add-Content -Path .\DateTimeFile1.log, .\DateTimeFile2.log -Value (Get-Date) -PassThru
Get-Content -Path .\DateTimeFile1.log
cmdlet Add-Content 使用 Path 和 Value 參數在當前目錄中創建兩個新檔。
Value 參數指定Get-Date用於獲取日期的 cmdlet 並將日期傳遞給 Add-Content. 該 Add-Content cmdlet 將日期寫入每個檔。
PassThru 參數傳遞表示日期對象的物件。 由於沒有其他 cmdlet 來接收傳遞的物件,因此它將顯示在 PowerShell 控制台中。 cmdlet Get-Content 顯示更新的文件 DateTimeFile1.log。
範例 3:將指定檔案的內容新增至另一個檔案
此示例從一個檔中獲取內容,並將該內容附加到另一個檔中。
Add-Content -Path .\CopyToFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\CopyToFile.txt
cmdlet Add-Content 使用 Path 參數指定目前的目錄中的新檔案 CopyToFile.txt。
Value 參数使用 Get-Content cmdlet 獲取文件的內容,CopyFromFile.txt.
Get-Content Cmdlet 周圍的括弧可確保命令會在 Add-Content 命令開始之前完成。 將 Value 參數傳遞給 Add-Content。 該 Add-Content cmdlet 將數據附加到 CopyToFile.txt 檔。 cmdlet Get-Content 顯示更新的檔案 CopyToFile.txt。
範例 4:使用變數將指定檔案的內容添加到另一個檔
這個範例會從檔案取得內容,並將內容儲存在變數中。 變數是用來將內容附加至另一個檔案。
$From = Get-Content -Path .\CopyFromFile.txt
Add-Content -Path .\CopyToFile.txt -Value $From
Get-Content -Path .\CopyToFile.txt
cmdlet Get-Content 獲取 CopyFromFile.txt 的內容並將內容存儲在變數中 $From 。 cmdlet Add-Content 使用 Path 參數指定目前的目錄中的 CopyToFile.txt 檔。 參數的 Value 使用變數 $From 並將內容 Add-Content傳遞給 。 cmdlet Add-Content 更新 CopyToFile.txt 檔。
Get-Content Cmdlet 會顯示 CopyToFile.txt。
範例 5:建立新的檔案和複製內容
此範例會建立新的檔案,並將現有檔案的內容複製到新檔案中。
Add-Content -Path .\NewFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\NewFile.txt
Add-Content Cmdlet 會使用 Path 和 Value 參數,在當前目錄中建立新檔案。
Value 參數使用 Get-Content cmdlet 獲取現有檔 CopyFromFile.txt的內容。
Get-Content Cmdlet 周圍的括弧可確保命令會在 Add-Content 命令開始之前完成。
Value 參數傳遞Add-Content將 NewFile.txt 檔更新到的內容。 該 Get-Content cmdlet 顯示新文件 NewFile.txt的內容。
範例 6:將內容新增至唯讀檔案
此命令將值添加到檔中,即使 IsReadOnly 檔屬性設置為True。 建立唯讀檔案的步驟包含在範例中。
New-Item -Path .\IsReadOnlyTextFile.txt -ItemType File
Set-ItemProperty -Path .\IsReadOnlyTextFile.txt -Name IsReadOnly -Value $True
Get-ChildItem -Path .\IsReadOnlyTextFile.txt
Add-Content -Path .\IsReadOnlyTextFile.txt -Value 'Add value to read-only text file' -Force
Get-Content -Path .\IsReadOnlyTextFile.txt
Mode LastWriteTime Length Name
---- ------------- ------ ----
-ar--- 1/28/2019 13:35 0 IsReadOnlyTextFile.txt
cmdlet New-Item 使用 Path 和 ItemType 參數在當前目錄中創建檔 IsReadOnlyTextFile.txt。
Set-ItemProperty Cmdlet 使用 Name 和 Value 參數,將檔案的 IsReadOnly 屬性變更為 True。 該 Get-ChildItem cmdlet 顯示檔為空 (0) 並具有唯讀屬性 ()。r
Add-Content Cmdlet 會使用 Path 參數來指定檔案。
Value 參數包含要附加至檔案的文字字串。
Force 參數會將文字寫入唯讀檔案。
Get-Content Cmdlet 會使用 Path 參數來顯示檔案的內容。
若要移除唯讀屬性,請使用 Set-ItemProperty 命令,並將 Value 參數設定為 False。
參數
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | cf |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Credential
指定具有執行此動作許可權的用戶帳戶。 預設值為目前的使用者。
輸入用戶名稱,例如 User01 或 Domain01\User01,或輸入 PSCredential 物件,例如 Get-Credential Cmdlet 所產生的用戶名稱。 如果您輸入使用者名稱,系統會提示您輸入密碼。
警告
任何與 PowerShell 一起安裝的提供者都不支援此參數。
參數屬性
| 類型: | PSCredential |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Encoding
指定目標檔案的編碼類型。 預設值為 Default。
此參數可接受的值如下:
- ASCII 使用 ASCII (7 位) 字元集。
- BigEndianUnicode 使用 UTF-16 與 big-endian 位元組順序。
- BigEndianUTF32 使用 UTF-32 搭配 big-endian 位元組順序。
- 位元組 將一組字元編碼成位元組序列。
- 預設 使用對應至系統使用中代碼頁的編碼方式(通常是 ANSI)。
- OEM 使用對應至系統目前 OEM 代碼頁的編碼方式。
- 字串 與 unicode 相同。
- Unicode 使用 UTF-16 搭配位元組順序。
未知 與 Unicode相同。 - UTF7 使用 UTF-7。
- UTF8 使用 UTF-8。
- UTF32 使用 UTF-32 搭配位元組順序。
編碼是 FileSystem 提供者新增至 Add-Content Cmdlet 的動態參數。 此參數僅適用於檔案系統磁碟驅動器。
參數屬性
| 類型: | FileSystemCmdletProviderEncoding |
| 預設值: | Default |
| 接受的值: | ASCII, BigEndianUnicode, BigEndianUTF32, Byte, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32 |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Exclude
省略指定的項目。 此參數的值對 路徑 參數進行限定。 輸入路徑元素或模式,如 *.txt。 允許使用通配符。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | True |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Filter
以提供者的格式或語言指定篩選。 此參數的值對 路徑 參數進行限定。 篩選的語法,包括使用通配符,取決於提供者。 篩選器 比其他參數更高效,因為提供程式在檢索物件時應用篩選器。 否則,PowerShell 會在檢索對象後處理篩選器。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | True |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Force
忽略唯讀屬性,允許您將內容加入到只讀檔案中。 例如,Force 會覆寫唯讀屬性或建立目錄以完成檔案路徑,但不會嘗試變更檔案許可權。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Include
僅添加指定的專案。 此參數的值對 路徑 參數進行限定。 輸入路徑元素或模式,如 *.txt。 允許使用通配符。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | True |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-LiteralPath
指定接收其他內容之項目的路徑。 不同於 Path,LiteralPath 的值則完全按照輸入時的方式使用。 不會將任何字元解譯為通配符。 如果路徑包含逸出字元,請以單引弧括住它。 單引號會告知PowerShell不要將任何字元解譯為逸出序列。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | PSPath |
參數集
LiteralPath
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-NoNewline
指示此 cmdlet 不會向內容添加新的換行符或回車符。
輸入物件的字串表示會串連以形成輸出。 輸出字串之間不會插入空格或換行符。 最後一個輸出字串之後不會新增任何換行符。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-PassThru
傳回物件,表示新增的內容。 根據預設,此 Cmdlet 不會產生任何輸出。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Path
指定接收其他內容之項目的路徑。 允許使用通配符。 如果您指定多個路徑,請使用逗號來分隔路徑。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | True |
| 不要顯示: | False |
參數集
Path
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Stream
指定內容的替代數據流。 如果數據流不存在,此 Cmdlet 會建立它。 不支援萬用字元。
Stream 是 FileSystem 提供者新增至 Add-Content的動態參數。 此參數僅適用於檔案系統磁碟驅動器。
您可以使用 Add-Content Cmdlet 來變更 Zone.Identifier 替代數據流的內容。 不過,我們不建議這樣做,以消除封鎖從因特網下載之檔案的安全性檢查。 如果您確認下載的檔案是安全的,請使用 Unblock-File Cmdlet。
此參數是在 PowerShell 3.0 中引進的。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-UseTransaction
在作用中交易中包含 命令。 只有在交易進行中時,此參數才有效。 如需詳細資訊,請參閱 about_Transactions。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | usetx |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Value
指定要新增的內容。 輸入引號字串,例如 此數據僅供內部使用,或指定包含內容的物件,例如 產生的 Get-Date 物件。
不能通過鍵入檔的路徑來指定檔的內容,因為該路徑只是一個字串。
您可以使用 Get-Content 命令來取得內容,並將其傳遞至 Value 參數。
參數屬性
| 類型: | Object[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | 1 |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 指令未執行。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 無線 |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
System.Object, System.Management.Automation.PSCredential
您可以通過管道將值、路徑或認證傳遞給 Set-Content。
輸出
None or System.String
當您使用 PassThru 參數時,Add-Content 會產生代表內容的 System.String 物件。 否則,此 Cmdlet 不會產生任何輸出。
備註
當您將物件通過管道傳輸到 Add-Content時,該物件會先轉換為字串,然後再將其添加到專案中。 物件類型會決定字串格式,但格式可能與對象的預設顯示不同。 若要控制字串格式,請使用傳送 Cmdlet 的格式參數。
您也可以透過內建別名 Add-Content來參考 ac。 如需詳細資訊,請參閱 about_Aliases。
Add-Content Cmdlet 的設計目的是要處理任何提供者所公開的數據。 若要列出工作階段中可用的提供者,請輸入 Get-PSProvider。 如需詳細資訊,請參閱 about_Providers。