PowerShell を使用してファイルを連結する方法

  1. PowerShell を使用してファイルを連結するために Get-ContentSet-Content を使用する
  2. PowerShell を使用してファイルを連結するために Add-Content を使用する
  3. PowerShell を使用してファイルを連結するために Out-File を使用する
  4. PowerShell を使用してファイルを連結するために連結演算子を使用する
  5. 結論
PowerShell を使用してファイルを連結する方法

PowerShell は、ファイルの作成、コピー、移動、削除、表示、名前変更など、さまざまなファイル操作を実行することを可能にします。別の重要な機能は、複数のファイルを 1つのファイルに連結することです。

この記事では、Get-ContentSet-Content を使用する方法、Add-Content コマンドレットを使用する方法、Out-File コマンドレットを使用する方法、連結演算子を使用する方法の 4つの方法を探ります。

PowerShell を使用してファイルを連結するために Get-ContentSet-Content を使用する

この方法では、Get-Content を使用して複数のファイル(file1.txtfile2.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.txtfile1.txtfile2.txt の内容を読み取ります。

次に、縦の線|を見てください。これはパイプ演算子で、出力(file1.txtfile2.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.txtfile2.txt の内容を読み取り、既存の concatenated2.txt ファイルの末尾に追加します。

|(パイプ)演算子は、2つのファイルの結合された内容を Add-Content コマンドレットに渡します。

注: ファイルパスが正しいこと、および file1.txtfile2.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.txtfile2.txt の結合された内容で上書きします。concatenated3.txt が存在しない場合は作成されます。

前の方法と比較すると、Add-Content は既存のファイルに追加し、Out-File は上書きします。

次のコマンドを実行して concatenated3.txt ファイルの内容を確認します。

Get-Content concatenated3.txt

出力:

This is a test1 file.
This is a test2 file.

ご覧の通り、test1.txttest2.txt の内容が concatenated3.txt にコピーされています。

ディレクトリ内のすべての .txt ファイルを連結したい場合は、.txt 拡張子のすべてのファイルを選択するために*.txt を使用できます。

Get-Content *.txt | Out-File concatenated3.txt
This is a file1 text file.

PowerShell を使用してファイルを連結するために連結演算子を使用する

この方法では、+ 演算子が file1.txtfile2.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.txtfile2.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-ContentSet-Content パイプラインのシンプルさ、Add-ContentOut-File の明示的な性質、または連結演算子の簡潔な構文を好むかどうかにかかわらず、PowerShell はニーズに応じた複数のオプションを提供します。

これらの方法を理解することは、さまざまなシナリオにおいてファイル内容を効率的に操作し、管理する能力を与えます。

チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
著者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

関連記事 - PowerShell File