Windowsで作業を自動化したり、不要なファイルを一括削除したりしたいときに便利なのがPowerShell。
中でもよく使われるコマンドのひとつが「Remove-Item」です。
「ファイルやフォルダを消すだけでしょ?」と思うかもしれませんが、使い方を間違えると大事なデータを失うリスクも…。
この記事では、初心者にもわかりやすく「Remove-Item」の基本から、よくあるエラー、便利なオプション、そして削除の安全性を高めるテクニックまで解説します。
Remove-Itemとは?基本の使い方

Remove-Item
は、PowerShellでファイルやフォルダを削除するためのコマンドレットです。構文は以下の通り:
Remove-Item -Path "削除したいファイルまたはフォルダのパス"
例1:ファイルの削除
Remove-Item -Path "C:\temp\sample.txt"
例2:フォルダの削除(中身が空の場合)
Remove-Item -Path "C:\temp\sample_folder"
エイリアスとして、rm
、del
、erase
も使用できます:
rm "C:\temp\sample.txt" # Remove-Itemと同じ
覚えておきたい重要オプション

-Recurse(再帰的削除)
フォルダの中身を含めてすべて削除する場合に使用します。
Remove-Item -Path "C:\temp\logs" -Recurse
-Force(隠しファイルや読み取り専用も削除)
通常では削除できないファイルも削除対象にできます。
Remove-Item -Path "C:\temp\secret.txt" -Force
-Include と -Exclude(特定パターンの絞り込み)
特定のファイルだけを削除したり、除外したりすることもできます:
# .txtファイルだけを削除
Remove-Item -Path "C:\temp\*" -Include "*.txt"
# .logファイル以外を削除
Remove-Item -Path "C:\temp\*" -Exclude "*.log"
安全な削除のためにやっておくべきこと

-WhatIfオプションで事前確認
何が削除されるのかを実際に削除せずに確認できます。
Remove-Item -Path "C:\temp\*" -Recurse -WhatIf
実行前の確認に必須!間違って重要なデータを削除するのを防げます。
-Confirmで都度確認
削除するたびに「本当に削除していいか?」を聞かれるようにします。
Remove-Item -Path "C:\temp\*" -Confirm
Test-Pathで存在確認してから削除
if (Test-Path "C:\temp\logs") {
Remove-Item -Path "C:\temp\logs" -Recurse
Write-Output "ログファイルを削除しました"
}
よくあるエラーとその対処法

エラー1:アクセスが拒否されました
- 読み取り専用や管理者権限が必要な場合があります。
- 対処法:PowerShellを管理者として実行する or
-Force
オプションを付ける
エラー2:フォルダが空でない
- フォルダ内にファイルやサブフォルダがある場合
- 対処法:
-Recurse
を追加する
エラー3:ファイルが見つかりません
- パスが間違っている可能性があります
- 対処法:
Get-ChildItem
で正確なパスを確認する
Get-ChildItem -Path "C:\temp" -Recurse | Where-Object { $_.Name -like "*sample*" }
Remove-Itemが便利に使える具体的なシーン

一定期間経過したファイルを削除
# 3日以上前のログファイルを削除
Get-ChildItem -Path "C:\Logs" -Filter "*.log" |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-3) } |
Remove-Item
特定のパターンに一致するファイルを削除
# tempで始まるファイルをすべて削除
Remove-Item -Path "C:\temp\temp*.*"
複数の場所から同時に削除
"C:\temp\logs", "D:\backup\logs" | ForEach-Object {
if (Test-Path $_) {
Remove-Item -Path "$_\*.log" -WhatIf
}
}
まとめ
「Remove-Item」は単純な削除コマンドに見えて、使い方次第で非常に強力なツールです。
その反面、間違えれば一瞬で大量のデータを失う可能性もあります。
ポイントおさらい:
Remove-Item
はファイルやフォルダを削除するコマンド-Recurse
と-Force
は強力だが慎重に使う-WhatIf
や-Confirm
で安全性を担保Test-Path
と組み合わせて存在確認をしてから使うのが安全- 削除対象の特定や権限問題にも注意
正しい使い方を覚えて、安全かつ効率的なPowerShell操作をマスターしましょう!
スクリプト内で使用する場合は特に、削除前の確認ステップを入れることを強くお勧めします。
コメント