delphi 删除目录(文件夹)

Posted txgh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

删除 SP 指定路径的空子目录。如果该路径不存在、非空或者是当前登录的目录,则会发生 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,不会删除非空目录。

如果给定的路径无效或包含无效字符,会引发异常。

以上是关于delphi 删除目录(文件夹)的主要内容,如果未能解决你的问题,请参考以下文章

Delphi阿里云存储对象支持上传文件下载文件删除文件创建目录删除目录Bucket操作等

用delphi如何一次删除某个目录下的所有文件?

delphi删除整个目录及目录下的文件

DELPHI中在对目录、文件中的问题

delphi 在用了SelectDirectory函数操作文件夹以后如何删除被选中的文件夹?

delphi如何删除文件夹