どうも、Morimotoです。
育休復帰後4カ月ほど経ちましたが、育休前と変わらずコーディングの日々を送っております。
復帰してから、TailwindCSSやDockerといった新しく教えてもらったことを導入してコーディングするようになりました。
導入したことの1つであるDockerですが、使っていくなかで:Zone.Identifierというファイルが勝手に出来ていたことに気づきました。
経緯としては、最初はWindows領域にDockerファイルを置いて開発していたのですが、あまりにも重かったので「WSL2とDockerを連携させよう!」となりDockerファイルをWSL領域に配置したのです。
その結果、高速化に成功したものの:Zone.Identifierという謎のゴミファイルが生成されてしまいました。
「:Zone.Identifier」とは
初めて見るファイルだったので、:Zone.IdentifierについてChatGPT先生に聞いたところ、
「:Zone.Identifierファイルは、Windowsでセキュリティを管理するために使用される隠しファイルです。ファイルがインターネットからダウンロードされた場合、そのファイルのセキュリティ情報を含んでおり、Windowsはこれを参照して適切なセキュリティ設定を適用します。特定のゾーンからのダウンロードに基づいてセキュリティの処理を行います。通常、ユーザーは直接このファイルを操作する必要はありません。」
とのことでした。
試しに数個削除しても問題無かったのですが、ファイルごとに生成されていたため1つ1つ手作業で削除していくのは面倒…
ということでコマンドを使って一括削除する方法を考えました。
「:Zone.Identifier」を一括削除するコマンド
以下が:Zone.Identifierファイルを一括削除できるコマンドです。
削除したいディレクトリに移動し、コマンドを実行してください。
$ find ./ -type f -name '*:Zone.Identifier' -exec rm {} \;
自分はWindowsのPCでPHPStormというエディタを使っていますが、
コマンド登録してクリック1回で削除できるようにしています。
PHPStormでコマンド登録する方法
コマンドを登録する手順は次のとおり
1.画面右上の「現在のファイル」と表示されているところをクリックして、「実行構成の編集…」をクリック

2.ポップアップ左上の「+」から「Shell Script」を選択

3.実行コマンドの名前を設定する(自分の分かりやすい名前でOK)
4.「実行」の「スクリプトテキスト」を選択し、スクリプトテキストを記入
$ find ./ -type f -name '*:Zone.Identifier' -exec rm {} \;
5.コマンドを実行する作業ディレクトリを選択し、「適用」→「OK」

そうすると手順1で「現在のファイル」と表示されていた部分がコマンド設定のときに決めた名前になります。

そして、その右にある三角をクリックすることで登録したコマンドが実行できるようになります。
これで:Zone.Identifierファイルが簡単に削除できるようになりました!
まとめ
勝手に生成される:Zone.Identifierですが、手作業で削除するのは非常に大変なので、ご紹介した削除コマンドを使ってみてください。
他にも普段よく使用するコマンドがあれば登録しておくのがオススメです。
それでは