PowerShell を使用してファイルを連結する方法
-
PowerShell を使用してファイルを連結するために
Get-Content
とSet-Content
を使用する -
PowerShell を使用してファイルを連結するために
Add-Content
を使用する -
PowerShell を使用してファイルを連結するために
Out-File
を使用する - PowerShell を使用してファイルを連結するために連結演算子を使用する
- 結論

PowerShell は、ファイルの作成、コピー、移動、削除、表示、名前変更など、さまざまなファイル操作を実行することを可能にします。別の重要な機能は、複数のファイルを 1つのファイルに連結することです。
この記事では、Get-Content
と Set-Content
を使用する方法、Add-Content
コマンドレットを使用する方法、Out-File
コマンドレットを使用する方法、連結演算子を使用する方法の 4つの方法を探ります。
PowerShell を使用してファイルを連結するために Get-Content
と Set-Content
を使用する
この方法では、Get-Content
を使用して複数のファイル(file1.txt
と file2.txt
)の内容を読み取り、結合された内容を Set-Content
にパイプして新しいファイル(concatenated.txt
)に書き込みます。
Set-Content
は、PowerShell での文字列処理用コマンドレットです。新しいコンテンツを書き込むか、ファイルの内容を置き換えます。
file1.txt
:
This is a file1 text file.
file2.txt
:
This is a file2 text file.
コード:
Get-Content file1.txt, file2.txt | Set-Content concatenated.txt
このコマンドでは、Get-Content file1.txt, file2.txt
が file1.txt
と file2.txt
の内容を読み取ります。
次に、縦の線|
を見てください。これはパイプ演算子で、出力(file1.txt
と file2.txt
の内容)をコマンドの次の部分に渡します。
最後に、Set-Content concatenated.txt
コマンドは、連結されたファイルの内容を concatenated.txt
という新しいファイルに設定します。
Get-Content
を使用して concatenated.txt
ファイルの内容をチェックします。以下のコマンドサンプルを使用してください。
Get-Content concatenated.txt
Get-Content
コマンドは、指定されたファイルの内容を読み取り、それをコンソールに出力します。concatenated.txt
が現在のディレクトリにある場合、コマンドはその内容を表示します。
現在のディレクトリにない場合は、concatenated.txt
をファイルの実際のパスに置き換える必要があります。
以下の方法でもファイルの内容が正しく動作するかどうかを確認し、検証するために Get-Content
を使用します。
出力:
This is a file1 text file.
This is a file2 text file.
2つのファイルの統合された内容が表示され、各ファイルごとに新しい行が自動的に追加されます。
PowerShell を使用してファイルを連結するために Add-Content
を使用する
ここでは、Get-Content
を使用して各ファイルの内容を別々に読み取ります。Add-Content
コマンドレットは、その後、指定されたファイル(concatenated2.txt
)に内容を追加します。このプロセスは、各ファイルに対して繰り返されます。
file1.txt
:
This is a file1 text file.
file2.txt
:
This is a file2 text file.
コード:
Get-Content file1.txt | Add-Content -Path concatenated2.txt
Get-Content file2.txt | Add-Content -Path concatenated2.txt
このコマンドは、file1.txt
と file2.txt
の内容を読み取り、既存の concatenated2.txt
ファイルの末尾に追加します。
|
(パイプ)演算子は、2つのファイルの結合された内容を Add-Content
コマンドレットに渡します。
注: ファイルパスが正しいこと、および
file1.txt
とfile2.txt
から読み取るための必要な権限があり、concatenated2.txt
に書き込む権限があることを確認してください。
Get-Content
を使用して concatenated2.txt
ファイルの内容をチェックします。
Get-Content concatenated2.txt
出力:
This is a file1 text file.
This is a file2 text file.
2つのファイルの結合された内容が表示され、各ファイルごとに新しい行が自動的に追加されます。
PowerShell を使用してファイルを連結するために Out-File
を使用する
Out-File
コマンドレットは出力をファイルに送信します。ファイルが存在しない場合、指定されたパスに新しいファイルが作成されます。
Out-File
を使用してファイルを連結するには、Get-Content
コマンドレットを使用してファイルの内容を取得する必要があります。通常、Get-Content
はコンソールに出力を表示します。
その出力を Out-File
にパイプする必要があるため、出力を指定されたファイルに送信します。以下の例では、2つのファイルの内容を concatenated3.txt
に結合します。
file1.txt
:
This is a file1 text file.
file2.txt
:
This is a file2 text file.
コード:
Get-Content file1.txt, file2.txt | Out-File concatenated3.txt
上記のコマンドは、concatenated3.txt
の内容を file1.txt
と file2.txt
の結合された内容で上書きします。concatenated3.txt
が存在しない場合は作成されます。
前の方法と比較すると、Add-Content
は既存のファイルに追加し、Out-File
は上書きします。
次のコマンドを実行して concatenated3.txt
ファイルの内容を確認します。
Get-Content concatenated3.txt
出力:
This is a test1 file.
This is a test2 file.
ご覧の通り、test1.txt
と test2.txt
の内容が concatenated3.txt
にコピーされています。
ディレクトリ内のすべての .txt
ファイルを連結したい場合は、.txt
拡張子のすべてのファイルを選択するために*.txt
を使用できます。
Get-Content *.txt | Out-File concatenated3.txt
This is a file1 text file.
PowerShell を使用してファイルを連結するために連結演算子を使用する
この方法では、+
演算子が file1.txt
と file2.txt
の内容を結合し、それを Set-Content
に渡して宛先ファイル(concatenated4.txt
)に書き込みます。
file1.txt
:
This is a file1 text file.
file2.txt
:
This is a file2 text file.
コード:
(Get-Content file1.txt -Raw) + "`r`n" + (Get-Content file2.txt -Raw) | Set-Content concatenated4.txt
+ "`r`n" +
部分は、文字列を結合するために使用されます。
この場合、file1.txt
と file2.txt
の内容の間にキャリッジリターン ("r")
と改行 ("n")
文字を追加します。これにより、2つのファイルの内容が結合されるときに別々の行に表示されます。
Get-Content
を使用して concatenated4.txt
ファイルの内容をチェックしてください。
Get-Content concatenated4.txt
出力:
This is a file1 text file.
This is a file2 text file.
2つのファイルの統合された内容が表示され、各ファイルごとに新しい行を追加するために+ "`r`n" +
がサポートされます。
結論
PowerShell でファイルを連結することは多様な作業であり、使用する方法は具体的な要件によって異なります。
Get-Content
と Set-Content
パイプラインのシンプルさ、Add-Content
と Out-File
の明示的な性質、または連結演算子の簡潔な構文を好むかどうかにかかわらず、PowerShell はニーズに応じた複数のオプションを提供します。
これらの方法を理解することは、さまざまなシナリオにおいてファイル内容を効率的に操作し、管理する能力を与えます。