Windows 10でディレクトリはどこまで深く作られるか?

Windows 10にてどのくらいディレクトリが深く作成できるか実験してみました。

スポンサード リンク

test ディレクトリを作り続けるバッチ。

 :loop
mkdir test
cd test
goto loop

このバッチをWindows 10で実行してみました。結果として、バッチの途中で以下のエラーが発生し、これ以上はディレクトリが作成できなくなります。

ファイル名または拡張子が長すぎます。

 C:\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test\test>

ディレクトリ数は49個、ディレクトリの長さは247でした。

この状態で mkdir 1 を実行(パス名を1文字増やすため) してもエラーのため、最大パス長は247と思われます。

さらにこのディレクトリで以下を実行しました。

>copy con aaaaaaaa.txt
ファイル名が長すぎます。
0 個のファイルをコピーしました。

以下のコマンドではファイルが作成できました。

>copy con aaaaaaa.txt

aaaaaaa.txt の長さは11 文字なので、最大のファイル名長さは 247 + 11 +1で 259 文字となります。(最後に1を足したのはディレクトリとファイル名の間に挿入される \ の1文字です。)
実験結果は以下となりました。

最大ディレクトリ名:247文字
最大フルパスファイル名:259文字

ネットで検索したところ、以下の情報が見つかりました。

引用元:Path.GetFullPath メソッド (String)

https://msdn.microsoft.com/ja-jp/library/system.io.path.getfullpath(v=vs.110).aspx

指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windows ベースのプラットフォームの場合、パスの長さは 248 文字未満、ファイル名の長さは 260 文字未満である必要があります。

よって実験結果と情報が合致することが分かります。

結論:ディレクトリの制限は個数ではなく、フルディレクトリパスの長さとなる。ディレクトリの長さの最大値は247文字。
ファイルを含んだ最大のフルパスは259文字。

スポンサード リンク

[Windows 10 コラム]