PowerShellでは、コマンドを使ってテキストファイルを簡単に作成できます。
単純に空のテキストファイルを作成するだけでなく、作成時に文字列を書き込んだり、既存のファイルに文字列を追記したりすることも可能です。
今回は、PowerShellでテキストファイルを作成・書き込みする方法をまとめてみました。
1.PowerShellでテキストファイルを作成する
PowerShellで空のテキストファイルを作成する場合は、New-Item を利用できます。
以下では、C:\hogehoge に test.txt を作成します。
New-Item -Path "C:\hogehoge\test.txt" -ItemType File実行すると、以下のようにファイルが作成されます。
PS C:\> New-Item -Path "C:\hogehoge\test.txt" -ItemType File
ディレクトリ: C:\hogehoge
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2026/09/18 15:56 0 test.txttest.txt のサイズが 0 となっているため、空のテキストファイルが作成されていることが分かります。
1-1. ファイル名だけ指定する場合
現在のフォルダーにファイルを作成するのであれば、ファイル名だけを指定して作成することもできます。
New-Item -Path "test.txt" -ItemType File2.文字列を書き込んだテキストファイルを作成する
ファイルを作成すると同時に文字列を書き込みたい場合は、Set-Content を利用するとよいです。
Set-Content -Path "C:\hogehoge\test.txt" -Value "Hello World"実行後にtest.txtを開くと、以下の文字列が記載されています。
PS C:\> Set-Content -Path "C:\hogehoge\test.txt" -Value "Hello World"
PS C:\> Get-Content -Path "C:\hogehoge\test.txt"
Hello World
PS C:\>Set-Content は、指定したファイルが存在しない場合にはファイルを作成してから文字列を書き込みます。
そのため、ファイル作成と文字列の書き込みをまとめて実行できます。
3.複数行の文字列を書き込む
複数行の内容を書き込むことも可能です。
Set-Content -Path "C:\hogehoge\test.txt" -Value @(
"aaa"
"bbb"
"ccc"
)作成された test.txt は以下のようになります。
PS C:\> Set-Content -Path "C:\hogehoge\test.txt" -Value @(
>> "aaa"
>> "bbb"
>> "ccc"
>> )
PS C:\> Get-Content -Path "C:\hogehoge\test.txt"
aaa
bbb
cccログファイルなど、複数行のテキストを作成したい場合にも利用できます。
4.既存のテキストファイルに文字列を追記する
既存のテキストファイルに文字列を追加したい場合は、Add-Content を使用します。
Add-Content -Path "C:\hogehoge\test.txt" -Value "ddd"上記の Set-Content で、作成したテキストに追記すると以下のようになります。
PS C:\> Add-Content -Path "C:\hogehoge\test.txt" -Value "ddd"
PS C:\> Get-Content -Path "C:\hogehoge\test.txt"
aaa
bbb
ccc
dddこのように Add-Content は、既存のファイルを残したまま、最後に文字列を追加できます。
5.Set-Content と Add-Content の違い
Set-Content と Add-Content は似ていますが、動作が異なります。
| コマンド | 動作 |
|---|---|
Set-Content | ファイルの内容を指定した内容に変更 |
Add-Content | ファイルの末尾に内容を追加 |
例えば、既存で文字列が記載されているファイルに Set-Content で書き込むと、ファイルの内容が上書きされます。
PS C:\> Set-Content -Path "C:\hogehoge\test.txt" -Value @(
>> "aaa"
>> "bbb"
>> "ccc"
>> )
PS C:\> Set-Content -Path "C:\hogehoge\test.txt" -Value "ddd"
PS C:\> Get-Content -Path "C:\hogehoge\test.txt"
ddd一方で、Add-Content の場合には、以下のように追記する挙動になります。
PS C:\> Get-Content -Path "C:\hogehoge\test.txt"
ddd
PS C:\> Add-Content -Path "C:\hogehoge\test.txt" -Value "eee"
PS C:\> Get-Content -Path "C:\hogehoge\test.txt"
ddd
eee既存の内容を残したい場合(=追記したい場合)は、Add-Content を使用します。
6.Out-Fileを利用してテキストファイルを作成する
PowerShellのコマンド実行結果をテキストファイルに保存する場合は、Out-File を利用してテキストファイルを作成することもできます。
例えば、Get-Process の実行結果をファイルに保存します。
PS C:\> Get-Process | Out-File -FilePath "C:\hogehoge\process.txt"
PS C:\> Get-Content -Path "C:\hogehoge\process.txt"
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
179 10 2908 12872 6184 0 AggregatorHost
474 22 14212 51576 2.02 5368 4 AppActions
227 17 3488 15428 7.63 4580 4 AppleMobileDeviceProcess
440 24 59908 47124 0.23 15412 4 ApplicationFrameHost
206 17 18032 34388 0.09 500 4 chrome
420 28 79296 148252 4.78 3856 4 chrome
・
・
・これにより、Get-Process の結果が process.txt に出力されます。
PowerShellで取得した情報をログとして保存したい場合などに便利です。
7.ファイルを作成するときの使い分け
今回紹介したコマンドは、用途によって使い分けると分かりやすいです。
| コマンド | 用途 |
|---|---|
New-Item | 空のファイルを作成する |
Set-Content | ファイルを作成して文字列を書き込む既存ファイルの内容を上書きする |
Add-Content | 既存ファイルの末尾に文字列を追加する |
Out-File | PowerShellのコマンド実行結果をファイルに保存する |
8.まとめ
PowerShellでは、コマンドを使ってテキストファイルを簡単に作成できます。
今回紹介した方法をまとめると以下のとおりです。
New-Item:空のテキストファイルを作成できるSet-Content:文字列を書き込んだファイルを作成できるAdd-Content:既存ファイルに文字列を追記できるOut-File:PowerShellの実行結果をファイルに保存できるSet-Content:既存ファイルの内容を上書きする
単純なファイル作成だけでなく、PowerShellでログを保存したり、スクリプトの実行結果をファイルとして残したりする場合にも活用できます。


