は、ファイルに単語を追加するなど、指定された項目にコンテンツを追加します。
構文
Add-Content <string> <Object> >] >]
Add-Content <Object> -LiteralPath <string> >] >]
説明
Add-Content
コマンドレットは、指定された項目またはファイルにコンテン コンテンツを指定するには、コマンドでコンテンツを入力するか、コンテンツを含むオブジェクトを指定します。次の例でファイルまたはディレクトリを作成する必要がある場合は、New-Itemを参照してください。
例
例1:例外を除いてすべてのテキストファイルに文字列を追加する
この例では、現在のディレクトリ内のテキストファイルに値を追加しますが、そのファイル名に基づいてファイルを除外します。P>
Add-Content -Path .\*.txt -Exclude help* -Value 'End of file'
Pathパラメーターは、現在のディレクトリ内のすべての.txt
ファイルを指定しますが、Excludeparameterは指定されたパターンに一致するファイ Valueパラメーターは、ファイルに書き込まれるテキスト文字列を指定します。
例2: 指定されたファイルの末尾に日付を追加する
この例では、現在のディレクトリ内のファイルに日付を追加し、powershellコンソールに日付を表示します。
Add-Content -Path .\DateTimeFile1.log, .\DateTimeFile2.log -Value (Get-Date) -PassThruGet-Content -Path .\DateTimeFile1.logTuesday, May 14, 2019 8:24:27 AMTuesday, May 14, 2019 8:24:27 AM5/14/2019 8:24:27 AM
Add-Content
コマンドレットは、現在のディレクトリに二つの新しいファイルを作成します。 Valueパラメーターには、Get-Date
コマンドレットの出力が含まれます。 PassThruパラメーターは、追加された内容をパイプラインに出力します。出力を受信するコマンドレットは他にないため、PowerShellコンソールに表示されます。Get-Content
DateTimeFile1.log
を表示します。
例3:指定したファイルの内容を別のファイルに追加する
この例では、ファイルから内容を取得し、その内容を変数に格納します。 変数は、コンテンツを別のファイルに追加するために使用されます。
$From = Get-Content -Path .\CopyFromFile.txtAdd-Content -Path .\CopyToFile.txt -Value $FromGet-Content -Path .\CopyToFile.txt
-
Get-Content
CopyFromFile.txt
$From
変数に格納します。 -
Add-Content
CopyToFile.txt
$From
変数の内容を使用して更新します。 -
Get-Content
コマンドレットはCopyToFileを表示します。txt。
例4:パイプラインを使用して、指定したファイルの内容を別のファイルに追加します
この例では、ファイルから内容を取得し、それをAdd-Content
Get-Content -Path .\CopyFromFile.txt | Add-Content -Path .\CopyToFile.txtGet-Content -Path .\CopyToFile.txt
Get-Content
CopyFromFile.txt
Add-Content
CopyToFile.txt
Get-Content
CopyToFile.txt
を表示します。
例5:新しいファイルを作成して内容をコピーする
この例では、新しいファイルを作成し、既存のファイルの内容を新しいファイルにコピーし
Add-Content -Path .\NewFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)Get-Content -Path .\NewFile.txt
-
Add-Content
コマンドレットは、パスと値のパラメーターを使用して、現在のディレクトリに新しいファイルを作成します。 -
Get-Content
CopyFromFile.txt
の内容を取得し、それをValueパラメーターに渡します。Get-Content
Add-Content
コマンドが開始される前にコマンドが終了することを保証します。 -
Get-Content
NewFile.txt
の内容を表示します。
例6:読み取り専用ファイルにコンテンツを追加
このコマンドは、IsReadOnly file属性がTrueに設定されている場合でも、ファイルに値を追加します。この例には、読み取り専用ファイルを作成する手順が含まれています。
New-Item -Path .\IsReadOnlyTextFile.txt -ItemType FileSet-ItemProperty -Path .\IsReadOnlyTextFile.txt -Name IsReadOnly -Value $TrueGet-ChildItem -Path .\IsReadOnlyTextFile.txtAdd-Content -Path .\IsReadOnlyTextFile.txt -Value 'Add value to read-only text file' -ForceGet-Content -Path .\IsReadOnlyTextFile.txtMode LastWriteTime Length Name---- ------------- ------ -----ar-- 1/28/2019 13:35 0 IsReadOnlyTextFile.txt
-
New-Item
コマンドレットは、PathパラメーターとItemTypeパラメーターを使用して、現在のディレクトリにファイルIsReadOnlyTextFile.txt
を作成します。 -
Set-ItemProperty
コマンドレットは、NameパラメーターとValueパラメーターを使用して、fileのisreadonlyプロパティをTrueに変更します。 -
Get-ChildItem
r
)を持っていることを示しています。 -
Add-Content
コマンドレットは、Pathパラメーターを使用してファイルを指定します。 値parameterincludesには、ファイルに追加するテキスト文字列が含まれます。 Forceパラメーターは、テキストを読み取り専用のファイルに書き込みます。 -
Get-Content
コマンドレットは、Pathパラメーターを使用してファイルの内容を表示します。読み取り専用属性を削除するには、値parametersetをFalse
Set-ItemProperty
コマンドを使用します。例7:Add-Contentでフィルターを使用する
Add-Content
コマンドレットにフィルターを指定できます。 フィルタを使用してPathparameterを修飾する場合は、パスの内容を示すために末尾のアスタリスク(*
C:\Temp
*.txt
ファイルの内容を”Done”という単語を追加します。Add-Content -Path C:\Temp\* -Filter *.txt -Value "Done"
パラメータ
-AsByteStreamコンテンツをバイトのストリームとして読み取る必要があることを指定します。 このパラメータはPowerShell6.0で導入されました。
Encodingパラメーターを指定してAsByteStreamパラメーターを使用すると、警告が発生します。 TheAsByteStream parameter ignores any encoding and the output is returned as a stream of bytes.
Type: SwitchParameter Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False -ConfirmPrompts you for confirmation before running the cmdlet.
Type: パイプライン入力を受け入れる: False パイプライン入力を受け入れる: False パイプライン入力を受け入れる: False パイプライン入力を受け入れる: False パイプライン入力を受け入れる: False パイプライン入力を受け入れる: False パイプライン入力を受け入れる: False パイプライン入力を受け入れる: パイプライン入力を受け入れる: パイプライン入力を受け入れる: パイプライン入力を受け入れる:ワイルドカード文字: False -credential注
このパラメータは、インストールされているプロバイダではサポートされていませんPowerShell.To 別のユーザーを偽装するか、このコマンドレットを実行するときに資格情報を昇格するには、Invoke-Commandを使用します。
Type: PSCredential Position: Named Default value: None Accept pipeline input: True Accept wildcard characters: False -EncodingSpecifies the type of encoding for the target file. The default value is
utf8NoBOM
.Encoding is a dynamic parameter that the FileSystem provider adds to the
Add-Content
cmdlet. Thisparameterはファイルシステムドライブでのみ動作します。このパラメータに使用できる値は次のとおりです。
-
ascii
:ASCII(7ビット)文字セットのエンコーディングを使用します。 -
bigendianunicode
:ビッグエンディアンバイトオーダーを使用してUTF-16形式でエンコードします。 -
bigendianutf32
:ビッグエンディアンバイトオーダーを使用してUTF-32形式でエンコードします。 -
oem
:MS-DOSおよびコンソールプログラムのデフォルトのエンコーディングを使用します。 unicode
unicode
: リトルエンディアンのバイト順を使用してUTF-16形式でエンコードします。
-
-
utf7
:UTF-7形式でエンコードします。 -
utf8
:UTF-8形式でエンコードします。 -
utf8BOM
:バイト順マーク(BOM)付きのUTF-8形式でエンコード -
utf8NoBOM
:バイト順マーク(BOM)なしのUTF-8形式でエンコード -
utf32
:UTF-32形式でエンコードします。
PowerShell6から始まります。2、Encodingパラメータは、登録されたコードページの数値Id(-Encoding 1251
-Encoding "windows-1251"
のような)も許可します。 詳細については、.netのドキュメントforEncodingを参照してください。コードページ。注意:UTF-7*の使用は推奨されなくなりました。 PowerShell7.1では、エンコーディングパラメータにutf7
を指定すると、警告が書き込まれます。Tr>
Specifies, as a string array, an item or items that this cmdlet excludes in the operation. The valueof this parameter qualifies the Path parameter. *.txt
などのパス要素またはパターンを入力します。 ワイルドカード文字を使用できます。 Excludeパラメータは、コマンドにC:\Windows\*
C:\Windows
ディレクトリの内容をワイルドカード文字
パスパラメータを修飾するフィルタを指定します。 FileSystemproviderは、フィルターの使用をサポートする唯一のインストール済みPowerShellプロバイダーです。 ファイルシステムフィルタ言語の構文は、about_wildcardsにあります。フィルターは、取得後にPowerShellがオブジェクトをフィルター処理するのではなく、cmdletがオブジェクトを取得するときにプロバイダーが適用するため、他のパラメーtr>
は読み取り専用属性をオーバーライドし、読み取り専用ファイルにコンテンツを追加できます。 たとえば、Forceは読み取り専用属性を上書きしたり、ファイルパスを完了するためにディレクトリを作成したりしますが、ファイル権限を変更しようとtr>
は、このコマンドレットが操作に含める項目を文字列配列として指定します。 このパラメーターのvalueofは、Pathパラメーターを修飾します。 "*.txt"
などのパス要素またはパターンを入力します。 ワイルドカード文字を使用できます。 Includeパラメータは、コマンドにC:\Windows\*
C:\Windows
ディレクトリの内容をワイルドカード文字
一つ以上の場所へのパスを指定します。 LiteralPathの値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、PowerShellにエスケープシーケンスとして文字を解釈しないように指示します。
詳細については、about_quoting_rulesを参照してください。tr>
は、このコマンドレットがコンテンツに新しい行またはキャリッジリターンを追加しないことを示します。
入力オブジェクトの文字列表現が連結されて出力が形成されます。 出力文字列の間には空白や改行は挿入されません。 最後の出力文字列の後に改行は追加されません。tr>
追加されたコンテンツを表すオブジェクトを返します。 既定では、このコマンドレットはanyoutputを生成しません。
タイプ: | |
パイプライン入力を受け入れる: | False |
ワイルドカード文字を受け入れる: | False |
ワイルドカード文字を受け入れる: | False |
追加のコンテンツを受け取るアイテムへのパスを指定します。ワイルドカード文字を使用できます。パスは、コンテナではなくアイテムへのパスでなければなりません。たとえば、ディレクトリへのパスではなく、1つ以上のファイルへのパスを指定する必要があります。複数のパスを指定する場合は、カンマを使用してパスを区切ります。/td>
注意
このパラメータはwindowsでのみ使用できます。
コンテンツの代替データストリームを指定します。 ストリームが存在しない場合、このコマンドレットはcreatesitを作成します。 ワイルドカード文字はサポートされていません。
Streamは、ファイルシステムプロバイダがAdd-Content
に追加する動的パラメータです。 Thisparameterはファイルシステムドライブでのみ動作します。Add-Content
Zone.Identifier
などのalternatedataストリームのコンテンツを変更できます。 ただし、インターネットからダウンロードされたファイルをブロックするセキュリティチェックを排除するために、この方法はお勧めしません。 ダウンロードしたファイルが安全であることを確認する場合は、Unblock-File
コマンドレットを使用します。
This parameter was introduced in PowerShell 3.0.
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the content to be added. 引用符で囲まれた文字列を入力するか、Get-Date
が生成するDateTimeオブジェクトなど、コンテンツを含むオブジェクトを指定します。
パスは単なる文字列であるため、パスを入力してファイルの内容を指定することはできません。Get-Content
コマンドを使用してコンテンツを取得し、それをValueパラメータに渡すことができます。
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: |
入力
システム。オブジェクト、システム。管理。自動化。PSCredential
値、パス、または資格情報をSet-Content
にパイプすることができます。
出力
なしまたはシステム。文字列
PassThruパラメーターを使用すると、Add-Content
はシステムを生成します。コンテンツを表す文字列オブジェクト。 それ以外の場合、このコマンドレットは出力を生成しません。
注意事項
- オブジェクトを
Add-Content
にパイプすると、オブジェクトは項目に追加される前に文字列に変換されます。 オブジェクトの型によって文字列の形式が決まりますが、その形式はオブジェクトのデフォルト表示とは異なる場合があります。 文字列の形式を制御するには、sendingコマンドレットの書式設定パラメーターを使用します。また、Add-Content
ac
で参照することもできます。 詳細については、”about_aliases”を参照してください。 -
Add-Content
Get-PSProvider
と入力します。 詳細については、”about_providers”を参照してください。
- about_aliases
- about_providers
- クリアコンテンツ
- Get-Content
- Get-Item
- New-Item
- Set-Content