PowerShellを使用すると、コマンド1つで簡単にファイルやフォルダを削除できます。その代表的なコマンドが Remove-Item です。
本記事では、PowerShellの 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 -Path "C:\temp\MyFolder" -Recurse 通常、読み取り専用のファイルやフォルダは削除できませんが、-Force を使用すると削除できます。
Remove-Item -Path "C:\temp\read-only-file.txt" -Force 削除時に確認を求める場合は -Confirm を使用します。
Remove-Item -Path "C:\temp\data.txt" -Confirm このオプションを付けると、実行時に “本当に削除しますか?” という確認が表示されます。
Remove-Item の実行結果を確認したいが、実際には削除したくない場合に -WhatIf を使います。
Remove-Item -Path "C:\temp\testfile.txt" -WhatIf 実際には削除されず、どのファイルが削除されるかを確認できます。
例えば、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 ファイルを取得Remove-Item -Force で削除削除時にエラーが発生してもスクリプトを継続させる場合、Try-Catch を使用します。
try {
Remove-Item -Path "C:\temp\important.txt" -Force -ErrorAction Stop
} catch {
Write-Host "削除に失敗しました: $_"
} Remove-Item は実行すると即座にファイルを削除します。取り消しできないため、削除前に -WhatIf を活用して確認するのが安全です。
ワイルドカード (* など) を使う場合は、削除対象を慎重に確認しましょう。
Remove-Item -Path "C:\Important\*" -Recurse このようなコマンドは、重要なファイルを全て削除するリスクがあるため注意が必要です。
システム関連のファイルやフォルダを削除する場合、管理者権限で PowerShell を実行する必要があります。
PowerShell の Remove-Item コマンドを使えば、ファイルやフォルダの削除を効率化できます。ただし、強力なコマンドであるため、誤って必要なデータを削除しないよう注意が必要です。
Remove-Item -Path "ファイルパス"-Recurse-Force-Confirm や -WhatIf適切なオプションを活用して、安全に Remove-Item を使いこなしましょう!