日記

日本語の勉強のためのブログ

【Windows】名前末尾にピリオドが入ったフォルダにエクスプローラからアクセスできない

忘れないうちに取り急ぎ記録。

(2022/07/31更新)
日を空けて再度試したところ、理由がわかったため修正。以前の記述で誤っていた部分には打ち消し線を引いた。タイトルも修正した。

1. 環境

  • Windows 10 home 21H2
  • WSL2
    • Ubuntu20.04.4 LTS

2. 経緯と症状

picoCTFを解く際に、問題ごとに(WSLのUbuntu上に)フォルダを作っている。
その際、問題タイトルをフォルダ名としてつけている。例えば、Fresh Javaという問題ならFresh_Javaというフォルダを作成している。

ある時、Wireshark doo dooo do doo...という問題を解こうとして、Wireshark_doo_dooo_do_doo...というフォルダを作成したのだが、エクスプローラ側でそのフォルダにアクセスしようとすると

アクセスできません
このネットワークリソースを使用するアクセス許可がない可能性があります

というエラーメッセージが表示され、アクセスできない症状が発生した。
(なお、WSL側からは普通にアクセスできる)

3. 解決

ほかの問題のフォルダにはアクセスできるので、フォルダ名が問題であると考えた。ほかのフォルダ名はせいぜい20文字が最大だったからである。

実際に、フォルダ名をWireshark_doo_dooo_do_doo...からWireshark_dooに縮めたところ、アクセスできるようになった。

※なお、末尾の...はおそらくこのエラーとは関係ないと思われる。
なぜなら、昔作成したNice netcat...というフォルダは名称末尾に...がついているが、問題なくアクセスできるからである。


(以下、2022/07/31追記)
…と書いてはいたが、再度試したところ真相がわかったため追記する。
結論から言うと、フォルダ名末尾の...が問題だったようだ。

3.1 検証

まず、上と同じくWireshark_doo_dooo_do_doo...というフォルダをWSL側で作成したが、やはりエクスプローラから開くことはできなかった(先述のエラーが出た)。

しかし、末尾の...を削除したWireshark_doo_dooo_do_dooというフォルダを作成したところ、エクスプローラ側でも開くことができた。

また、a..., a.., a., a.aといった、フォルダ名の末尾や間にピリオドが入ったフォルダについても試したところ、末尾にピリオドが入ったものはその数にかかわらずエクスプローラから開くことはできなかった
(なお、ピリオドが間にあるa.aについては開くことができた)

さらに、エクスプローラ側でフォルダを作成する際、abc..のようにフォルダ名末尾にピリオドを入れると、それが勝手に削除されabcというフォルダとして作成されることもわかった。

以下のページは教えてgooなので信憑性は低いが、「Windowsではフォルダ名末尾のピリオドは仕様上許されていない」という旨の話がされている。
「D.C.」のように最後にドットをつけたフォルダを作りたい(win7 -「D.- Windows 7 | 教えて!goo

3.2 わかったこと

以上より、

  • Linuxではフォルダ名末尾にピリオドがあっても問題ない
  • Windowsでは(仕様上?)フォルダ名末尾のピリオドは許容されず、そうした名称のフォルダは扱えない

ということなのかなと思う。

あくまでも少し実験しただけで出した結論なので、おそらく間違った部分があると思う。また何かわかったら追記する。