PowerShellを使用すると、コマンド1つで簡単にファイルやフォルダを削除できます。その代表的なコマンドが Remove-Item です。
本記事では、PowerShellの Remove-Item コマンドを活用し、ファイルやフォルダを効率的に削除する方法を詳しく解説します。また、安全に使用するためのオプションや注意点も紹介します。初心者でも分かりやすいように具体的なサンプルコードを交えて説明していきます。
Remove-Item コマンドの基本
Remove-Item の概要
Remove-Item コマンドは、PowerShellでファイルやフォルダを削除するための基本的なコマンドです。
基本構文
Remove-Item -Path <削除対象のパス>
簡単な使用例
Remove-Item -Path "C:\Users\User\Desktop\sample.txt"
このコマンドを実行すると、指定した sample.txt ファイルが削除されます。
削除対象の指定方法
-Path パラメータを使って、削除したいファイルやフォルダのパスを指定します。
- ファイルの削除
Remove-Item -Path "C:\temp\file.txt" - フォルダの削除(空のフォルダ)
Remove-Item -Path "C:\temp\folder" - ワイルドカードを使用して複数のファイルを削除
Remove-Item -Path "C:\temp\*.log"→C:\temp内の.logファイルをすべて削除
Remove-Item のオプション
-Recurse(サブフォルダごと削除)
Remove-Item はデフォルトでフォルダが空でないと削除できません。サブフォルダを含めてフォルダごと削除するには -Recurse オプションを使います。
Remove-Item -Path "C:\temp\MyFolder" -Recurse
-Force(削除を強制実行)
通常、読み取り専用のファイルやフォルダは削除できませんが、-Force を使用すると削除できます。
Remove-Item -Path "C:\temp\read-only-file.txt" -Force
-Confirm(削除前に確認を求める)
削除時に確認を求める場合は -Confirm を使用します。
Remove-Item -Path "C:\temp\data.txt" -Confirm
このオプションを付けると、実行時に “本当に削除しますか?” という確認が表示されます。
-WhatIf(削除のシミュレーション)
Remove-Item の実行結果を確認したいが、実際には削除したくない場合に -WhatIf を使います。
Remove-Item -Path "C:\temp\testfile.txt" -WhatIf
実際には削除されず、どのファイルが削除されるかを確認できます。
PowerShell スクリプトで一括削除する方法
特定の条件でファイルを削除
例えば、C:\Logs フォルダ内の30日以上前のログファイル(拡張子 .log)を削除する場合、以下のスクリプトを使用します。
$limit = (Get-Date).AddDays(-30)
Get-ChildItem -Path "C:\Logs" -Filter "*.log" | Where-Object { $_.LastWriteTime -lt $limit } | Remove-Item -Force
このスクリプトは、
C:\Logsフォルダの.logファイルを取得- 最終更新日が30日以上前のファイルをフィルタリング
Remove-Item -Forceで削除
エラーハンドリング付きの削除スクリプト
削除時にエラーが発生してもスクリプトを継続させる場合、Try-Catch を使用します。
try {
Remove-Item -Path "C:\temp\important.txt" -Force -ErrorAction Stop
} catch {
Write-Host "削除に失敗しました: $_"
}
Remove-Item を使用する際の注意点
1. 削除の確認なしに実行しない
Remove-Item は実行すると即座にファイルを削除します。取り消しできないため、削除前に -WhatIf を活用して確認するのが安全です。
2. 誤って重要なファイルを削除しない
ワイルドカード (* など) を使う場合は、削除対象を慎重に確認しましょう。
Remove-Item -Path "C:\Important\*" -Recurse
このようなコマンドは、重要なファイルを全て削除するリスクがあるため注意が必要です。
3. 管理者権限での実行が必要な場合がある
システム関連のファイルやフォルダを削除する場合、管理者権限で PowerShell を実行する必要があります。
まとめ
PowerShell の Remove-Item コマンドを使えば、ファイルやフォルダの削除を効率化できます。ただし、強力なコマンドであるため、誤って必要なデータを削除しないよう注意が必要です。
- 基本的な削除 →
Remove-Item -Path "ファイルパス" - フォルダごと削除 →
-Recurse - 読み取り専用ファイルを削除 →
-Force - 削除前に確認 →
-Confirmや-WhatIf
適切なオプションを活用して、安全に Remove-Item を使いこなしましょう!
