指定した項目に内容を追加します。たとえば、ファイルに語を追加します。

構文

Add-Content [-LiteralPath] <string[]> [-Value] <Object[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-確認] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Add-Content [-Path] <string[]> [-Value] <Object[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-確認] [-WhatIf] [-UseTransaction] [<CommonParameters>]

説明

Add-Content コマンドレットは、指定した項目またはファイルに内容を追加します。内容を指定するには、コマンドに内容を入力するか、内容が格納されているオブジェクトを指定します。

パラメーター

-Credential <PSCredential>

この処理を実行するアクセス許可を持つユーザー アカウントを指定します。既定値は現在のユーザーです。

"User01" や "Domain01\User01" のようなユーザー名を入力するか、Get-Credential コマンドレットで生成されるような 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 の値は入力したとおりに使用されます。ワイルドカードとして解釈される文字はありません。パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。単一引用符で囲んだ文字はエスケープ シーケンスとして解釈されません。

必須

true

位置

1

既定値

パイプライン入力を許可する

true (ByPropertyName)

ワイルドカード文字を許可する

false

-PassThru

追加された内容を表すオブジェクトを返します。既定では、このコマンドレットによる出力はありません。

必須

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

-確認

コマンドを実行する前に確認メッセージを表示します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-WhatIf

実際にコマンドを実行せずに、コマンドを実行すると何が起きるかを出力します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-UseTransaction

コマンドを有効なトランザクションに含めます。このパラメーターは、トランザクションの進行中のみ有効です。詳細については、「about_Transactions」を参照してください。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

<CommonParameters>

このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。Ô”¼š¤Ë¤Ä¤¤¤Æ¤Ï¡¢次を参照してください: about_Commonparameters.

入力と出力

入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。

入力

System.Object

パイプを使用して追加対象のオブジェクト (値) を Add-Content に渡すことができます。

出力

なし、または System.String

Passthru パラメーターを使用すると、Add-Content は内容を表す System.String オブジェクトを生成します。それ以外の場合、このコマンドレットによる出力はありません。

オブジェクトをパイプライン経由で Add-Content に渡すと、オブジェクトは項目に追加される前に文字列に変換されます。オブジェクト型によって文字列の形式が決まりますが、オブジェクトの既定の表示形式と異なる場合があります。文字列の形式を制御するには、送信コマンドレットの書式設定パラメーターを使用します。

Add-Content は、その組み込みエイリアスである "ac" で参照することもできます。詳細については、「about_Aliases」を参照してください。

Add-Content コマンドレットは、プロバイダーによって公開されているデータを使用するように設計されています。セッションで使用可能なプロバイダーの一覧を表示するには、「Get-PsProvider」と入力します。詳細については、「about_Providers」を参照してください。

例 1

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

説明
-----------
このコマンドを実行すると、現在のディレクトリにあり、名前が "help" で始まるファイル以外のすべてのテキスト ファイルに "END" が追加されます。






例 2

C:\PS>add-content -Path file1.log, file2.log -Value (get-date) -passthru

説明
-----------
このコマンドを実行すると、ファイル file1.log と file2.log の末尾に日付が追加され、コマンド ラインに日付が表示されます。このコマンドは、Get-Date コマンドレットを使用して日付を取得し、Value パラメーターを使用して Add-Content に日付を渡します。PassThru パラメーターを指定すると、追加する内容を表すオブジェクトが、パイプラインを介して渡されます。渡されたオブジェクトを受け取るコマンドレットは他にないので、オブジェクトはコマンド ラインに表示されます。






例 3

C:\PS>add-content -path monthly.txt -value (get-content c:\rec1\weekly.txt)

説明
-----------
このコマンドを実行すると、weekly.txt ファイルの内容が monthly.txt ファイルの末尾に追加されます。このコマンドは、Get-Content コマンドレットを使用して 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 コマンドレットを使用して内容を追加します。Value パラメーターの値は、既存の Test.log ファイルから内容を取得する Get-Content コマンドです。

path パラメーターの値は、コマンドを実行するときに存在しないパスです。この例では、C:\Tests ディレクトリのみが存在します。このコマンドを実行すると、残りのディレクトリが作成され、Test134.log ファイルが作成されます。

このコマンドには Force パラメーターは不要です。Force パラメーターがなくても、Add-Content によってディレクトリが作成されてパスが完成します。






関連項目




目次