Delphi多层文件夹创建与删除

Delphi 的多层次文件夹操作,写系统工具或者搞点自动目录结构的小功能时挺常见。用TDirectoryTFile这两个类,配合CreateDirectoryDelete,基本能搞定大部分需求。递归建目录、带子文件的整包删除、路径是否存在的判断,都是几行代码的事。

多层目录的创建用TDirectory.CreateDirectory(),自动递归,方便:

DirPath := 'C:\MyProject\Parent\Child\SubChild';
if not TDirectory.Exists(DirPath) then
  TDirectory.CreateDirectory(DirPath);

删除文件夹就小心点,TDirectory.Delete()加个True就能连子目录带文件一锅端:

if TDirectory.Exists(DirPath) then
  TDirectory.Delete(DirPath, True);

遍历子目录、获取文件列表啥的,用TDirectory.GetDirectories()GetFiles()也挺顺手,输出路径直接Writeln就完事了:

DirPaths := TDirectory.GetDirectories('C:\MyProject');
for DirPath in DirPaths do
  Writeln(DirPath);

要注意权限问题,比如有文件被占用或者当前用户没权限,操作会抛异常,记得包一层try...except会保险些。

如果你经常搞文件操作,尤其批量目录结构,建议把System.IOUtils熟悉熟悉,效率提升挺的。

rar 文件大小:169.29KB