PowerShellでファイルやフォルダを削除する方法|Remove-Itemの使い方を徹底解説

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

このスクリプトは、

  1. C:\Logs フォルダの .log ファイルを取得
  2. 最終更新日が30日以上前のファイルをフィルタリング
  3. 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 を使いこなしましょう!

タイトルとURLをコピーしました