delphi 删除目录(文件夹)
删除目录(文件夹)
代码
调用 RmDir 删除目录
procedure TForm1.Button1Click(Sender: TObject); begin //创建测试目录 ForceDirectories('D:\测试目录1\目录1'); ForceDirectories('D:\测试目录1\目录2'); //删除空目录 RmDir('D:\测试目录1\目录1'); //删除非空目录报错 try RmDir('D:\测试目录1'); except on E: Exception do ShowMessage(E.Message); end; end;
调用 RemoveDir 删除目录
procedure TForm1.Button2Click(Sender: TObject); begin //创建测试目录 ForceDirectories('D:\测试目录2\目录1'); ForceDirectories('D:\测试目录2\目录2'); //删除空目录 if RemoveDir('D:\测试目录2\目录1\') then ShowMessage('删除目录成功'); //删除非空目录返回False if not RemoveDir('D:\测试目录2') then ShowMessage('非空目录'); end;
调用 TDirectory.Delete 删除目录
uses System.IOUtils; procedure TForm1.Button3Click(Sender: TObject); begin //创建测试目录 ForceDirectories('D:\测试目录3\目录1'); ForceDirectories('D:\测试目录3\目录2'); //删除空目录 TDirectory.Delete('D:\测试目录3\目录1'); //删除非空目录 TDirectory.Delete('D:\测试目录3', True); end;
方法
System.RmDir
procedure RmDir(const S: string);
procedure RmDir(P: PChar);
unit
System
删除 S 或 P 指定路径的空子目录。如果该路径不存在、非空或者是当前登录的目录,则会发生 I/O 错误。
在 Delphi 中,{$I+} 使用异常处理运行时错误。 当使用 {$I-} 时,使用 IOResult 检查 I/O 错误。
System.SysUtils.RemoveDir
function RemoveDir(const Dir: string): Boolean;
unit
System.SysUtils
删除指定路径的空目录。如果成功删除目录,返回值为 True,如果发生错误,返回值为 False。 该目录必须清空才能成功删除。
在使用 symlinks 时,由于 symlinks 在不同平台上的实现方式,需要考虑一些特殊情况。 在 Windows 上,RemoveDir 只能从目录中删除一个symlinks,无论目录链接是否断开。
System.IOUtils.TDirectory.Delete
class procedure Delete(const Path: string); overload; inline; static;
class procedure Delete(const Path: string; const Recursive: Boolean); overload; static;
unit
System.IOUtils
删除给定路径下的目录。
参数
Path 要删除的目录路径。
Recursive 删除是递归的。 如果为 False,则不会删除非空目录。
重载
Delete(string) 相当于Delete(string, Boolean)中Recursive参数是False,不会删除非空目录。
如果给定的路径无效或包含无效字符,会引发异常。
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 0.037438869476318 seconds