【 Remove-Item 】コマンドレット――ファイルやフォルダを削除する:Windows PowerShell基本Tips(4)
本連載は、Windows PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「Remove-Item」コマンドレットです。
本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、ファイルやフォルダなどのアイテムを削除する際に役立つ「Remove-Item」コマンドレットです。
Remove-Itemコマンドレットとは?
「Remove-Item」は、特定の名前を含むファイルやフォルダなどのアイテムを削除するためのコマンドレットです。例えば、「temp」や「.exe」といった名前を含むファイルやフォルダを削除することができます。
また、Remove-Itemコマンドレットは、コマンドプロンプトの「del」コマンドや、Linuxの「rm」コマンド、「rmdir」コマンドと同じ要領で使用できます。
- [参考]rmコマンド――ファイルを削除する(連載:Linux基本コマンドTips 第20回)
Remove-Itemコマンドレットの主なオプション
Remove-Itemコマンドレットの主なオプションは次の通りです。
オプション | 意味 |
---|---|
-Path | ファイルのパスを指定する。省略可能 |
-Exclude | 指定したパターンに一致するファイルやフォルダを指定する |
-Force | 隠しファイルや読み取り専用ファイルなどを削除する |
-Recurse | 指定したフォルダとそのサブフォルダに含まれるファイル/フォルダを削除する |
特定のファイルを削除する
「Remove-Item ファイルパス」と実行すると、ファイルパスに該当するファイルが削除されます。ファイルパスの指定には、「ワイルドカード(*)」も使用できます。特定のフォルダ内の全てのファイルを削除する場合には、ファイルパスに「<フォルダパス>\*.*」と指定します。
以下の実行例では、「C:\Work」フォルダ内の全てのファイルを削除しています(画面1)。
コマンドレット実行例
Remove-Item C:\Work\*.*
画面1では、Remove-Itemコマンドレットの実行前後で「Get-ChildItem」コマンドレットを実行しています。Remove-Item実行前には3つのファイル(a.txt、b.txt、c.txt)がありますが、Remove-Item実行後には全てのファイルが削除されていることを確認できます。
- [参考]Get-ChildItemコマンドレット――ディレクトリの情報を取得する(本連載 第1回)
また、ファイル/フォルダを問わずに、全てを削除する場合は「<フォルダパス>\*」と指定します。
サブフォルダを含む全てのアイテムを削除する
Remove-Itemコマンドレットでは、パスで指定したフォルダ内にサブフォルダがあり、そのサブフォルダ内にもファイルがある場合は自動的には削除されず、削除を確認するメッセージが表示されます。
確認メッセージを表示させずに、全てのファイルを削除するには「-Recurse」オプションを使用します。
以下の実行例では、「C:\Work」フォルダ内からファイルとサブフォルダ、サブフォルダ内にあるファイルをまとめて削除しています(画面2)。
コマンドレット実行例
Remove-Item C:\Work\* -Recurse
画面2でも、Remove-Itemコマンドレットの実行前後で「Get-ChildItem」コマンドレットを実行しています。Remove-Item実行前には「C:\Work」フォルダ内にファイル「a.txt」とサブフォルダ「abc」、そしてサブフォルダ「abc」内にファイル「b.txt」がありますが、Remove-Item実行後は全てのファイルとフォルダが削除されていることを確認できます。
レジストリを削除する
Remove-Itemコマンドレットで削除できるのは、ファイルやフォルダだけではありません。Windows PowerShellからアクセス可能なレジストリや証明書、環境変数なども削除することができます。例えば、レジストリの「HKEY_LOCAL_MACHINE」を削除する場合は、「HKLM:\」と指定します。
以下の実行例では、レジストリの「HKEY_LOCAL_MACHINE」サブツリーから「System\CurrentControlSet\Services\abc」キーとその配下の値を削除しています(画面3)。
コマンドレット実行例
Remove-Item HKLM:\System\CurrentControlSet\Services\abc
なお、レジストリの削除には管理者権限が必要になるので、Windows PowerShellは「管理者として実行」で起動して操作してください。
筆者紹介
国井 傑(くにい すぐる)
株式会社ソフィアネットワーク取締役。1997年よりマイクロソフト認定トレーナーとして、Active DirectoryやActive Directoryフェデレーションサービス(AD FS)など、ID管理を中心としたトレーニングを提供している。2007年よりMicrosoft MVP for Directory Servicesを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。
Copyright © ITmedia, Inc. All Rights Reserved.