將內容新增到指定的項目,如在檔案中加入文字。

語法

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-Credential Cmdlet 所產生的物件。如果輸入使用者名稱,將會提示您提供密碼。

所有隨 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

覆寫唯讀屬性 (Attribute),讓您可以在唯讀檔案中新增內容。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Include <string[]>

只加入指定的項目。此參數的值用於限定 Path 參數。輸入路徑元素或模式,例如 "*.txt"。允許使用萬用字元。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-LiteralPath <string[]>

指定要接收額外內容的項目所在路徑。LiteralPath 與 Path 不同,係取用實際輸入的內容做為參數值。任何字元均不被解譯成萬用字元。如果路徑中包含逸出字元,請將其置於單引號內。單引號係告訴 Windows PowerShell 不要將任何字元解譯成逸出序列。

必要?

true

位置?

1

預設值

接受管線輸入?

true (ByPropertyName)

接受萬用字元?

false

-PassThru

傳回代表加入之內容的物件。根據預設,此 Cmdlet 不會產生任何輸出。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Path <string[]>

指定要接收額外內容的項目所在路徑。允許使用萬用字元。若要指定多個路徑,請使用逗號來分隔路徑。

必要?

true

位置?

1

預設值

接受管線輸入?

true (ByPropertyName)

接受萬用字元?

false

-Value <Object[]>

指定要加入的內容。輸入以引號括住的字串,例如 "這份資料僅供內部使用",或指定包含內容的物件,例如 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。

輸出

None 或 System.String

當您使用 Passthru 參數時,Add-Content 會產生可代表內容的 System.String 物件。否則,這個 Cmdlet 不會產生任何輸出。

附註

當您透過管線將物件傳遞到 Add-Content 時,該物件會先轉換為字串,然後才會加入項目。物件型別會決定字串格式,但是該格式可能會不同於物件的預設顯示。若要控制字串格式,請使用傳送 Cmdlet 的格式化參數。

您也可以利用內建的別名 "ac" 來參照 Add-Content。如需詳細資訊,請參閱 about_Aliases。

Add-Content Cmdlet 設計的用意是要操作任一提供者所公開的資料。若要列出可在工作階段中使用的提供者,請輸入 "Get-PsProvider"。如需詳細資訊,請參閱 about_Providers。

範例 1

C:\PS>add-content -path *.txt -exclude help* -value "END"

描述
-----------
這個命令會將 "END" 新增到目前目錄中的所有文字檔,但是檔案名稱開頭為 "help" 的文字檔除外。






範例 2

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 會接收傳遞的物件,因此它會顯示在命令列上。






範例 3

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"。






範例 4

C:\PS>add-content -value (get-content test.log) -path C:\tests\test134\logs\test134.log

描述
-----------
這個命令會建立新目錄與檔案,並且將現有檔案的內容複製到新建立的檔案中。

這個命令使用 Add-Content Cmdlet 新增內容。Value 參數的值為取得現檔案 (Test.log) 內容的 Get-Content 命令。

路徑參數的值為命令執行時並不存在的路徑。例如,只有 C:\Tests directories 存在。該命令會建立其他的目錄和 Test134.log 檔案。

Force 參數不是這個命令的必要項。即使沒有 Force 參數,Add-Content 也能夠建立目錄完成路徑。






請參閱




目錄