创建100层文件夹产生的有关问题
创建100层文件夹产生的问题
要在c盘创建文件夹名为edit4.text,层数为strtoint(edit5.text)的文件夹,代码如下:
procedure TForm1.Button7Click(Sender: TObject);
var
i:integer;
begin
i:=strtoint(edit5.text);
SetCurrentDir( 'c:\ ');
while i> 0 do
begin
i:=i-1;
CreateDir(trim(edit4.Text));
chdir(trim(edit4.Text));
end;
end;
当创建10层的时候都正常,但创建100层时出现project 1.exe raised exception class EInOutError with message 'file not found ',process stopped.
为什么呢??如何解决???
------解决方案--------------------
windows对文件夹深度有限制的
------解决方案--------------------
windows对目录的长度有限制的,深度限制就是根据目录长度来的吧,长度上限大致是1240(网上找的),楼主可以自己测试一下
------解决方案--------------------
NTFS 文件系统允许32000字符的路径长度,但 Microsoft Windows 操作系统(NT4, 2000 和 XP) 却会强制将路径限制在256字符以内,如果建立的目录长度超过256字节将提示错误。
------解决方案--------------------
路径太长。常量 MAX_PATH = 260, 路径最多只可能260个字符。
要在c盘创建文件夹名为edit4.text,层数为strtoint(edit5.text)的文件夹,代码如下:
procedure TForm1.Button7Click(Sender: TObject);
var
i:integer;
begin
i:=strtoint(edit5.text);
SetCurrentDir( 'c:\ ');
while i> 0 do
begin
i:=i-1;
CreateDir(trim(edit4.Text));
chdir(trim(edit4.Text));
end;
end;
当创建10层的时候都正常,但创建100层时出现project 1.exe raised exception class EInOutError with message 'file not found ',process stopped.
为什么呢??如何解决???
------解决方案--------------------
windows对文件夹深度有限制的
------解决方案--------------------
windows对目录的长度有限制的,深度限制就是根据目录长度来的吧,长度上限大致是1240(网上找的),楼主可以自己测试一下
------解决方案--------------------
NTFS 文件系统允许32000字符的路径长度,但 Microsoft Windows 操作系统(NT4, 2000 和 XP) 却会强制将路径限制在256字符以内,如果建立的目录长度超过256字节将提示错误。
------解决方案--------------------
路径太长。常量 MAX_PATH = 260, 路径最多只可能260个字符。