なとりうむのメモ帳

アナログな趣味が多めのしがないIT系エンジニア。技術のこと、好きなこと色々書きます。

パスが長すぎて削除できないファイルを削除する方法

自動テストを仕込んだときなどにパスが異常に長いファイルが作成されて、通常のWindowsの画面操作からだと「ファイル名または拡張子が長すぎます。」と表示され、削除できなくなったことがありました。
めったに使うことはないのですが、だからこそ忘れてしまうので対処方法を置いておきます。
試したことがあるのは、以下の2パターンです。他にもたくさんやり方があります。

ローカルフォルダ内の場合

  1. コマンドプロンプトを起動し、問題のファイルがある場所までディレクトリ移動します。
  2. 以下のコマンドを発行し、問題のファイルの8.3形式*1のファイル名を表示させてください。
    dir /xf:id:na11_nato:20180323185548j:plain赤い丸で囲っている短くなっているファイル名が8.3形式です。
  3. 以下のコマンドを発行し、ファイル削除を行ってください。*2
    del [8.3形式でのファイル名]

ネットワークフォルダ内の場合

ロングファイルネームは、パス全体の長さで判断するのでファイル名ではなく前半のパス部分を短縮すれば問題なく削除できます。

つまり、ネットワークドライブに割り当ててしまえば解決です。*3

割り当てたネットワークドライブからフォルダを表示して削除しちゃいましょう。

*1:拡張子以外が8バイトまで、拡張子で3バイトまで使えるMS-DOSとかのファイル名の形式のことです。現在通常利用しているファイル名の形式は「ロングファイルネーム」と呼びます。詳細はぜひググってください。

*2:隠しファイル化されている場合は、/fオプションを付けて実行してください。

*3:ネットワークドライブの割り当て方法が分からない方はgoogle先生が画像付きで分かりやすく教えてくれます