世界のことを知りたい

読書習慣を付けたい。…マンガも本だよね?

Windows での削除できないフォルダ・ファイルはコマンドプロンプトから

何故か削除できないフォルダが作られてしまいました。「D:\あああ 」というようなフォルダで、フォルダ名の最後に半角スペースが入ってしまっています。いつの間に…?

Windows では名前の最後にピリオドやスペースがあると、そのフォルダやファイルを削除できないようです。エクスプローラーから削除しようとすると「この項目は見つかりませんでした」とエラーが出てしまいます。

これを削除しようと Windows のサポート(NTFS ファイル システム上のファイルまたはフォルダを削除できない)に書いてあるように、コマンドプロンプトを開き、

del "\\?\D:\あああ "

としたところ、エラーが出ずに無事に削除されたような感じを醸し出しますが、削除されません。依然として残っています。

色々と検索したところ、結局、次のコマンドで削除することができました。

f:id:arityk:20151025023706j:plain

rd /s "\\?\D:\あああ "
"/s" はそのフォルダの下にあるディレクトリやファイルも削除するオプションです。

"del" ではなく "rd" で削除できました。"del" はファイルに対してのみ使うコマンドのようです。

まとめますと、削除できないファイルやフォルダは、

  • "del" はファイルに対して、"rd" はフォルダに対して使う。
  • 削除できないフォルダ・ファイルの絶対パスの先頭に "\\?\" をつける。

で削除できるということですね。