PowerShellで隠しファイル・隠しフォルダを削除する方法|Remove-Itemコマンドレット
目次
スポンサードリンク
Windowsで作業していると、一時ファイルやアプリの設定データなどが隠しファイル・隠しフォルダとして蓄積されることがあります。この記事では、PowerShellのコマンドで、隠しファイル・隠しフォルダを削除する方法を解説します。
隠しファイル・隠しフォルダとは?
隠しファイルとは、Windowsのファイル属性で「Hidden(隠し)」が設定されているファイルやフォルダのことです。通常のエクスプローラー表示では非表示となっており、誤って削除や変更されないよう保護されています。
隠しファイル・隠しフォルダを削除する方法
特定の隠しファイルを削除したいときは、Remove-Itemコマンドを使います。Remove-Itemコマンドの引数で、削除対象のファイルパスを指定し、-Force オプションを付与して実行します。
以下例では、隠しファイル「.hidden.txt」を削除しようとしています。-Forceオプションを付けない場合は、エラーメッセージが表示され削除に失敗します。
PS C:\test> Remove-Item .\.hidden.txt
Remove-Item : 項目 C:\test\.hidden.txt を削除できません: この操作を実行するために十分なアクセス権がありません。
発生場所 行:1 文字:1
+ Remove-Item .\.hidden.txt
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (C:\test\.hidden.txt:FileInfo) [Remove-Item], IOException
+ FullyQualifiedErrorId : RemoveFileSystemItemUnAuthorizedAccess,Microsoft.PowerShell.Commands.RemoveItemCommand
以下のように、-Force オプションを付けた場合は削除することができます。
PS C:\test> Remove-Item .\.hidden.txt -Force
PS C:\test> Get-ChildItem -Force
ディレクトリ: C:\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d--h-- 2025/06/02 13:31 hidden_dir
-a---- 2025/05/28 17:05 0 新規 Microsoft Word 文書.docx
関連記事
Windowsで隠しファイル・隠しフォルダを表示するコマンド|コマンドプロンプトとPowershell両方の方法を紹介
隠しファイル・隠しフォルダだけを一括削除する方法
隠しファイルだけを一括削除したいときは、Where-Objectコマンドで対象を隠しファイルだけにフィルタリングした上で、Remove-Item コマンドを実行します。
下記例では、C:\test の中に隠しフォルダが1個、隠しファイルが3個あります。それらを一括で削除しています。
PS C:\test> Get-ChildItem -Force | Where-Object { $_.Attributes -match "Hidden" }
ディレクトリ: C:\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d--h-- 2025/06/02 13:31 hidden_dir
-a-h-- 2025/06/02 13:40 0 .hidden.txt
-a-h-- 2025/06/02 13:40 0 .hidden2.txt
-a-h-- 2025/06/02 13:40 0 .hidden3.txt
PS C:\test> Get-ChildItem -Force | Where-Object { $_.Attributes -match "Hidden" } | Remove-Item -Force
PS C:\test> Get-ChildItem -Force
ディレクトリ: C:\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2025/05/28 17:05 0 新規 Microsoft Word 文書.docx
隠しフォルダを中身ごと一括削除する方法
ファイルを含む隠しフォルダを削除しようとすると警告メッセージが表示されます。警告を無視して、ファイルの中身ごと一括で削除したいときは、Remove-Itemコマンドにフォルダの中身ごと削除することを許可する -Recurse オプションを指定します。
Get-ChildItem -Directory -Force | Where-Object { $_.Attributes -match "Hidden" } | Remove-Item -Recurse -Force
削除時の注意点
隠しファイル・フォルダの中には、アプリケーションやWindowsが必要とする重要なデータが含まれている場合があります。システムファイルを誤って削除すると、OSの動作に支障が出る可能性もあるため注意してください。
コマンドプロンプトのポケットリファレンス:Windows11対応版
Windows環境で開発やシステム管理を行うエンジニアにとって、コマンドプロンプトの知識は非常に重要なスキルセットです。こちらの書籍は初心者にもわかりやすく網羅的です。手元に置いておきたい一冊です。
PowerShellの基礎を一通り学べるおすすめ書籍