
本記事では、PowerShellのファイルとフォルダの操作コマンドの基本的な使い方から、実務でよく利用する使用例について説明します。
目次
New-Item コマンド
New-Item は、ファイルやフォルダなどの新しい項目を作成するコマンドです。
よく使うオプション
| オプション | 説明 |
|---|---|
| -Path | 対象フォルダを指定する。(省略可) |
| -ItemType | 作成する項目の種類を指定する。(File、Directory) |
| -Name | 作成する名前を指定する。(省略可) |
| -Force | エラー回避・強制実行する。 |
| -Value | 初期内容の設定する。 |
空のファイルを作成する(-ItemType File)
指定したフォルダに空のテキストファイルを作成します。
New-Item -Path "C:\work" - Name "sample.txt" -ItemType File
-Name オプションは省略することもできます。
New-Item -Path "C:\work\sample.txt" -ItemType Directory
フォルダを作成する(-ItemType Directorye)
指定したフォルダ内にサブフォルダを作成します。
New-Item -Path "C:\work\TestFolder" -ItemType Directory
フォルダ階層をまとめて作成する(-Force)
存在しない親フォルダも含めてフォルダを作成します。-Force オプションを指定すると、フォルダが既に存在する場合でもエラーにならず処理を継続します。
New-Item -Path "C:\work\Backup\2026\11" -ItemType Directory -Force
ファイル作成時に初期内容を設定する(-Value)
指定したフォルダ内にファイル作成と同時に内容を書き込みます。
New-Item -Path "C:\work\sample.txt" -ItemType File -Value "setting=value"
Remove-Item コマンド
Remove-Item は、ファイルやフォルダを削除するコマンドです。
【注意】Remove-Item は「ごみ箱」を経由せず、即座に完全に削除されます。
よく使うオプション
| オプション | 説明 |
|---|---|
| -Path | 削除対象のパスを指定する。(省略可) |
| -Recurse | サブフォルダや配下のファイルも含めて削除する。 |
| -Force | 隠しファイルや読み取り専用ファイルも削除する。 |
| -Filter | 条件に一致するファイルのみ削除する。 |
| -Include | 指定したパターンを含むファイルを削除する。 |
| -Exclude | 指定したパターンを除外して削除する。 |
| -WhatIf | 実際には削除せず結果を確認する。 |
| -Confirm | 削除前に確認メッセージを表示する。 |
ファイルを削除する(-Path)
指定したファイルを削除します。
Remove-Item -Path "C:\work\sample.txt"
フォルダごと削除する(-Recurse)
指定したフォルダとその中にあるすべてのファイル・サブフォルダを削除します。
Remove-Item -Path "C:\work\TestFolder" -Recurse
隠しファイルも削除する(-Force)
隠しファイルや読み取り専用ファイルも削除します。
Remove-Item -Path "C:\work\sample.txt" -Force
条件に一致するファイルのみ削除する(-Filter)
指定したフォルダ内で拡張子が .log のファイルのみ削除します。
Remove-Item -Path "C:\Logs\*" -Filter "*.log"
指定したパターンに一致するファイルのみ削除する(-Include)
指定したフォルダ内で拡張子が .log と .bak のファイルのみ削除します。
Remove-Item -Path "C:\Logs\*" -Include "*.log","*.bak"
指定したパターンを除外して削除する(-Exclude)
指定したフォルダ内の import.log を除くファイルを削除します。
Remove-Item -Path "C:\Logs\*" -Exclude "import.log"
事前に削除対象のみ確認する(-WhatIf)
実際には削除せず、実行結果のみを確認します。
Remove-Item -Path "C:\Logs\*.log" -WhatIf
実行結果
PS C:\Logs> Remove-Item -Path "C:\Logs\*.log" -WhatIf
WhatIf: 対象 "C:\Logs\20261106.log" に対して操作 "ファイルの削除" を実行しています。
WhatIf: 対象 "C:\Logs\20261107.log" に対して操作 "ファイルの削除" を実行しています。
削除前に確認メッセージを表示する(-Confirm)
削除前にユーザーへ確認を求めます。
Remove-Item -Path "C:\Logs\*.log" -Confirm
実行結果
PS C:\Logs> Remove-Item -Path "C:\Logs\*.log" -Confirm
確認
この操作を実行しますか?
対象 "C:\Logs\20261106.log" に対して操作 "ファイルの削除" を実行しています。
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"):
Copy-Item コマンド
Copy-Item は、ファイルやフォルダをコピーするためのコマンドです。
よく使うオプション
| コマンド | 説明 |
|---|---|
| -Path | コピー元を指定する。(省略可) |
| -Destination | コピー先を指定する。 |
| -Recurse | サブフォルダを含めてコピーする。 |
| -Force | コピー先に同名ファイルが存在する場合は上書きコピーする。 隠しファイルや読み取り専用ファイルもコピーする。 |
| -Filter | 条件に一致するファイルのみコピーする。 |
| -Include | 指定したファイルのみコピーする。 |
| -Exclude | 指定したファイルを除外してコピーする。 |
| -Container | フォルダ構成を保持してコピーする。 |
| -WhatIf | 実際にはコピーせず結果を確認する。 |
ファイルをコピーする(-Destination)
指定したファイルをコピーします。
Copy-Item -Path "C:\work\sample.txt" -Destination "C:\Backup\"
フォルダごとコピーする(-Recurse)
指定したフォルダとその中にあるすべてのファイル・サブフォルダをコピーします。
Copy-Item -Path "C:\Logs" -Destination "C:\Backup\Logs" -Recurse
同名ファイルを上書きしてコピーする(-Force)
既に同名ファイルが存在していても上書きしてコピーします。隠しファイルや読み取り専用ファイルもコピーします。
Copy-Item -Path "C:\Logs\*" -Destination "C:\Backup\" -Recurse -Force
条件に一致するファイルのみコピーする(-Filter)
指定したフォルダ内で拡張子が .log のファイルのみコピーします。
Copy-Item -Path "C:\Logs\*" -Destination "C:\Logs\Backup\" -Filter "*.log"
指定したパターンに一致するファイルのみコピーする(-Include)
指定したフォルダ内で拡張子が .txt と .csv のファイルのみコピーします。
Copy-Item -Path "C:\work\*" -Destination "C:\Backup\" -Include "*.txt","*.csv"
指定したパターンを除外してコピーする(-Exclude)
指定したフォルダ内で拡張子が .tmp を除くファイルをコピーします。
Copy-Item -Path "C:\Work\*" -Destination "C:\Backup\" -Exclude "*.tmp"
フォルダ構造を保持してコピーする(-Container)
コピー元のフォルダ構成を保持したままコピーします。
Copy-Item -Path "C:\work*" -Destination "C:\Backup\" -Recurse -Container
事前にコピー対象のみ確認する(-WhatIf)
実際にはコピーせず、実行結果のみを確認します。
Copy-Item -Path "C:\work\*" -Destination "C:\Backup\" -Recurse -WhatIf
Move-Item コマンド
Move-Item は、ファイルやフォルダを別の場所へ移動するためのコマンドです。
よく使うオプション
| オプション | 説明 |
|---|---|
| -Path | 移動元を指定する。(省略可) |
| -Destination | 移動先を指定する。 |
| -Force | 移動先に同名ファイルが存在する場合は上書き移動する。 隠しファイルや読み取り専用ファイルも移動する。 |
| -WhatIf | 実際には移動せず結果を確認する。 |
ファイルを移動する(-Destination)
指定したファイルを移動します。
Move-Item -Path "C:\work\sample.txt" -Destination "C:\Backup\"
同名ファイルを上書きして移動する(-Force)
既に同名ファイルが存在していても上書きして移動します。隠しファイルや読み取り専用ファイルも移動します。
Move-Item -Path "C:\Logs\*" -Destination "C:\Backup\" -Force
事前に移動対象のみ確認する(-WhatIf)
実際には移動せず、実行結果のみを確認します。
Move-Item -Path "C:\Logs\*" -Destination "C:\Backup\" -Force -WhatIf
Rename-Item コマンド
Rename-Item は、ファイルやフォルダの名前を変更するコマンドです。
よく使うオプション
| オプション | 説明 |
|---|---|
| -Path | 名前を変更する対象を指定する。(省略可) |
| -NewName | 新しい名前を指定する。 |
| -Force | 隠しファイルや読み取り専用ファイルも変更する。 |
| -WhatIf | 実際には変更せず結果を確認する。 |
ファイル名を変更する(-NewName)
data.txt のファイル名を data_old.txt に変更します。
Rename-Item -Path "C:\work\data.txt" -NewName "data_old.txt"
読み取り専用ファイルをリネームする(-Force)
読み取り専用ファイルに対してリネームを実行します。
Rename-Item -Path "C:\work\data.bak" -NewName "data.txt" -Force
事前に変更内容のみ確認する(-WhatIf)
実際には名前を変更せず、実行結果のみを確認します。
Rename-Item -Path "C:\work\data.txt" -NewName "data_old.txt" -WhatIf
以上、PowerShellのファイルとフォルダの操作コマンドの基本的な使い方から、実務でよく利用する使用例について解説しました。