Windwsにはいわゆるパス(フォルダの階層構造の事)とファイル名の合計文字数が260文字を超えない事という制限がある。
そのため、例えば
C:\Mojisuu\Seigenn\Nannde\256moji\toka\shomonaikoto\ittenndaka\imifumei\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\012345678901234567890123456789012345678901234567890123456789.xlsx
って感じでトータルの文字数が260文字を超えるとファイル操作ができない事態になります。
どうやら、パスは256文字まで、ファイル名を含めて259文字までってことらしい・・・。
操作ができない事、とは具体的には
250文字で収まっているパスがあったとします。
そのフォルダ階層に 30文字のファイル名のファイルを格納(コピー)しようとすると変なエラーが出ます。
メール添付のファイルをそこに移動したり、圧縮ファイルを解凍して文字数がオーバーしたりするときもアウトです。
問題無く格納出来るときもあるから意味不明。ファイルを実行するときにエラーもある。
また、文字数を超えている場合、ファイルのリネームをしようとすると変更を受け付けず、元のファイル名に戻ってしまう現象もあります。
その場合、何度も入れてみて、戻ってしまうので意味不明としか言い様がない。
トータル260文字制限というルールに抵触していることが全く分からないエラーが出るので大変です。
以下は正しい?エラー。
技術的に回避策を提示してくれている人がいるのでリンクをします。
実際、一般の人はPowerShellなど使ったこともないし存在も知らないと思うし、レジストリをいじるってのもやったことないはず。
なので現実的ではない訳だけど、解決策はあるということで。
だけど、レジストリを変更して260文字以上を許すということは、そもそも何らかの理由で制約を設けていると考えると他に影響を及ぼす懸念は拭えない。
ファイルの容量が大きくなり、ドライブの構成も C:\ の1ドライブ構成が多くなっているわけなので、余計に階層化されることはありえます。
マイクロソフトさん、なんとかして欲しいなぁ。。。