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の基礎を一通り学べるおすすめ書籍