解釋
Add-Content
向指定的項中添加內容,如向檔案中添加字詞。
語法
Add-Content [-LiteralPath] <string[]> [-Value] <Object[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
Add-Content [-Path] <string[]> [-Value] <Object[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
說明
Add-Content cmdlet 將內容追加到指定項或指定的檔案中。可以通過在命令中鍵入內容或通過指定包含內容的對象來指定內容。
參數
-Credential <PSCredential>
指定有權執行此操作的用戶帳戶。默認值為當前用戶。
鍵入用戶名,如“User01”或“Domain01\User01”;或輸入 PSCredential 對象,如Get-Credentialcmdlet 生成的一個 PSCredential 對象。如果鍵入用戶名,則將提示您輸入密碼。
隨同 Windows PowerShell 一起安裝的任何提供程式都不支持此參數。
是否為必需? | false |
位置? | named |
默認值 | |
是否接受管道輸入? | true (ByPropertyName) |
是否接受通配符? | false |
-Exclude <string[]>
忽略指定項。此參數的值對 Path 參數進行限定。請輸入路徑元素或模式,例如“*.txt”。允許使用通配符。
是否為必需? | false |
位置? | named |
默認值 | |
是否接受管道輸入? | false |
是否接受通配符? | false |
-Filter <string>
以提供程式的格式或語言指定篩選器。此參數的值對 Path 參數進行限定。篩選器的語法(包括通配符的使用)取決於提供程式。篩選器比其他參數更有效,因為提供程式是在檢索對象時套用篩選器,而不是在檢索對象後再由 Windows PowerShell 篩選對象。
是否為必需? | false |
位置? | named |
默認值 | |
是否接受管道輸入? | false |
是否接受通配符? | false |
-Force
覆蓋唯讀屬性,從而允許您向唯讀檔案中添加內容。
是否為必需? | false |
位置? | named |
默認值 | |
是否接受管道輸入? | false |
是否接受通配符? | false |
-Include <string[]>
只添加指定項。此參數的值對 Path 參數進行限定。請輸入路徑元素或模式,例如“*.txt”。允許使用通配符。
是否為必需? | false |
位置? | named |
默認值 | |
是否接受管道輸入? | false |
是否接受通配符? | false |
-LiteralPath <string[]>
指定用於接收其他內容的項的路徑。與 Path 不同,LiteralPath 的值嚴格按照所鍵入的形式使用。不會將任何字元解釋為通配符。如果路徑包括轉義符,請將其括在單引號中。單引號會告知 Windows PowerShell 不要將所有字元都解釋為轉義序列。
是否為必需? | true |
位置? | 1 |
默認值 | |
是否接受管道輸入? | true (ByPropertyName) |
是否接受通配符? | false |
-PassThru
返回一個表示所添加內容的對象。默認情況下,此 cmdlet 將不產生任何輸出。
是否為必需? | false |
位置? | named |
默認值 | |
是否接受管道輸入? | false |
是否接受通配符? | false |
-Path <string[]>
指定用於接收其他內容的項的路徑。允許使用通配符。如果指定多個路徑,請使用逗號分隔這些路徑。
是否為必需? | true |
位置? | 1 |
默認值 | |
是否接受管道輸入? | true (ByPropertyName) |
是否接受通配符? | false |
-Value <Object[]>
指定要添加的內容。鍵入用引號引起來的字元串,例如 "This data is for internal use only";或指定包含內容的對象,例如Get-Date生成的 DateTime 對象。
無法通過鍵入檔案路徑來指定檔案內容,因為路徑只是一個字元串,但可以使用Get-Content命令來獲取內容並將其傳遞給 Value 參數。
是否為必需? | true |
位置? | 2 |
默認值 | |
是否接受管道輸入? | true (ByValue, ByPropertyName) |
是否接受通配符? | false |
-Confirm
在執行命令之前提示您進行確認。
是否為必需? | false |
位置? | named |
默認值 | |
是否接受管道輸入? | false |
是否接受通配符? | false |
-WhatIf
描述如果執行該命令會發生什麼情況(無需實際執行該命令)。
是否為必需? | false |
位置? | named |
默認值 | |
是否接受管道輸入? | false |
是否接受通配符? | false |
-UseTransaction
將命令包含在活動事務中。僅當正在執行事務時,此參數才有效。有關詳細信息,請參閱 about_Transactions。
是否為必需? | false |
位置? | named |
默認值 | |
是否接受管道輸入? | false |
是否接受通配符? | false |
<CommonParameters>
此 cmdlet 支持通用參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有關詳細信息,請參閱about_Commonparameters.
輸入和輸出
輸入類型是指可通過管道傳遞給 cmdlet 的對象的類型。返回類型是指 Cmdlet 所返回對象的類型。
輸入 | System.Object 可以通過管道將要添加的對象 (Value) 傳遞給 Add-Content。 |
輸出 | “無”或 System.String 如果使用 Passthru 參數,則 Add-Content 生成一個表示內容的 System.String 對象。否則,此 cmdlet 將不產生任何輸出。 |
說明
在將對象通過管道傳送給 Add-Content 時,該對象將先轉換為字元串,然後再添加到項目。對象類型決定字元串格式,但該格式可能不同於該對象的默認顯示。要控制字元串格式,請使用傳送 cmdlet 的格式設定參數。
還可以使用 Add-Content 的內置別名“ac”來對其進行引用。有關詳細信息,請參閱 about_Aliases。
Add-Content cmdlet 用於處理由任何提供程式公開的數據。要列出會話中可用的提供程式,請鍵入“Get-PsProvider”。有關詳細信息,請參閱 about_Providers。
示例
C:\PS>add-content -path *.txt -exclude help* -value "END"說明-----------此命令將“END”添加到當前目錄內的所有文本檔案中,但檔案名稱以“help”開頭的文本檔案除外。
C:\PS>add-content -Path file1.log, file2.log -Value (get-date) -passthru說明-----------此命令將日期添加到 File1.log 和 File2.log 檔案的末尾,然後在命令行中顯示該日期。此命令使用 Get-Date cmdlet 來獲取日期,並使用 Value 參數將該日期傳遞給 Add-Content。PassThru 參數通過管道傳遞表示所添加內容的對象。由於沒有其他任何 cmdlet 接收所傳遞的對象,因此該對象將顯示在命令行中。
C:\PS>add-content -path monthly.txt -value (get-content c:\rec1\weekly.txt)說明-----------此命令將 Weekly.txt 檔案的內容添加到 Monthly.txt 檔案的末尾。此命令使用 Get-Content cmdlet 獲取 Weekly.txt 檔案的內容,並使用 Value 參數將 weekly.txt 的內容傳遞給 Add-Content。括弧可確保 Get-Content 命令在 Add-Content 命令開始之前已完成。還可以將 Weekly.txt 的內容複製為變數(例如,$w),然後使用 Value 參數將該變數傳遞給 Add-Content。在這種情況下,命令將為“add-content -path monthly.txt -value $w”。
C:\PS>add-content -value (get-content test.log) -path C:\tests\test134\logs\test134.log說明-----------此命令將創建一個新目錄和檔案,並將現有檔案的內容複製到新創建的檔案中。此命令使用 Add-Content cmdlet 來添加內容。Value 參數的值是從現有檔案 Test.log 獲取內容的 Get-Content 命令。path 參數的值是此命令運行時不存在的路徑。在此示例中,只存在 C:\Tests 目錄。此命令將創建剩餘的目錄和 Test134.log 檔案。Force 參數不是此命令的必需參數。即使沒有 Force 參數,Add-Content 也會創建目錄來完成路徑。