移転しました。
2013年2月〜
http://kanonji.info/blog/

2008年11月〜2013年1月
http://d.hatena.ne.jp/kanonji/

はてなダイアリーに移転してたけど、そっからさらにWordPressでのブログに移転しました。
 
201302061607
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
別窓 | スポンサー広告
----------
Windowsで扱えるファイル名の長さ
長いファイル名を付けていたら操作できないファイルが出来てしまったので、Windowsで扱えるファイル名の長さがちょっと気になった。

※自分の環境がWindowsXP MC SP2なので、それ以外は知りません。

9x系とNT系ではやはり違うようだが9x系には興味がないのでNT系のみに注目する。

検索してみて参考にしたサイトは以下。

beefway says 32bit windows の ファイル 名 に関して

・絶対パスで255文字まで使用可能。
※9x系と違いマルチバイトでも1文字をそのまま1文字とカウントする。

・エクスプローラからは255文字までだが、領域としては260文字分ありAPIからは260文字まで使用可能。
※256文字~260文字の絶対パスのファイルは、開く・削除・移動といった操作が出来ないと思う。多分。

削除できなくなったファイルやフォルダを削除する

・Windows で扱えるファイル名の長さは 256Byte まで。
※「C:」などドライブ名は含まないが「\」は含む。

・256Byte よりも名前の長いファイルやフォルダへはアクセス出来ない。

概ね似てはいるけど微妙に長さが異なり、ドライブ名やセパレータ「\」を含むのか含まないのかも曖昧なので、実験してみた。

実験ディレクトリ C:\(つまりルートディレクトリ)
実験用ファイル 0123456789...(0123456789の10文字を25回繰り返した250文字のファイル名を持ったファイル)

○実験1
実験用ディレクトリに実験用ファイルをおいて、リネームで1文字づつ加えていく。

c:\0123456789... OK
c:\a0123456789... OK
c:\bb0123456789... OK
c:\ccc0123456789... OK
c:\dddd0123456789... OK
c:\eeeee0123456789... OK
c:\ffffff0123456789... NG

結果
255文字まではリネームできたが、リネーム中に256文字目の文字を入力することが出来なかった。

○実験2
実験用ディレクトリに1文字~6文字のディレクトリを作成し、その中に実験用ファイルを置いていく。

c:\0123456789... OK
c:\a\0123456789... OK
c:\bb\0123456789... OK
c:\ccc\0123456789... OK
c:\dddd\0123456789... OK
c:\eeeee\0123456789... OK
c:\ffffff\0123456789... NG

結果
5文字までのディレクトリにはファイルを移動/コピーできたが、6文字のディレクトリにはエラーが発生した。

---------------------------
ファイルまたはフォルダのコピー エラー
---------------------------
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 をコピーできません。指定されたファイル名は、無効かまたは長すぎます。
別の名前を指定してください。
---------------------------
OK
---------------------------


結論としては、ドライブ名「c:」とセパレータ「\」を除いて255文字まではアクセスできる。
PC1台だけで試したのでもちろん自分の環境限定となるが。
上記参考サイトではセパレータ「\」は含めて数えると書いてあったので、Windowsのバージョンによって異なる可能性はある。

ちなみに、これを調べる原因となったアクセスできないファイルは、開く・移動・削除どれも出来なかった。
右クリックによるコンテキストメニューも正常時より項目が不足していてプロパティなどが無かった。
そのファイルが入っているディレクトリを削除することで何とか解決したが、参考サイトの 削除できなくなったファイルやフォルダを削除する によればディレクトリ名を短くしたり上位のディレクトリに移動したりすることで解決できたようだ。

削除できなくなったファイルやフォルダを削除する ではアクセスできない状態を作り出す、バッチスクリプトも紹介されている。
スポンサーサイト
別窓 | 未分類 | コメント:0 | トラックバック:0
200703142205
| プログラマのチラシの裏 |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。