我想创建一个目录TestDir
,但前提是该目录不存在。我找不到检查该目录是否存在的方法。
我正在使用以下函数来创建目录。
CreateDir('TestDir')
我应该如何确保仅在不存在时才使用此CreateDir
功能?TestDir
我想创建一个目录TestDir
,但前提是该目录不存在。我找不到检查该目录是否存在的方法。
我正在使用以下函数来创建目录。
CreateDir('TestDir')
我应该如何确保仅在不存在时才使用此CreateDir
功能?TestDir
在 Delphi XE2 中,您可以使用IOUtils
单元TDirectory
记录,如下所示:
uses IOUtils;
procedure TForm1.Button1Click(Sender: TObject);
begin
if not TDirectory.Exists('test') then
TDirectory.CreateDirectory('test');
在 Delphi7 中,您可以使用 SysUtils 单元中的 DirectoryExists 函数:
uses SysUtils, Windows;
procedure TForm1.Button1Click(Sender: TObject);
begin
if not DirectoryExists('test') then
CreateDir('test');
SysUtils
调用中有一个例程DirectoryExists
应该完全满足您的需要...
CreateDir 只能创建比现有目录“高”一级的目录。例如, CreateDir('C:\Folder1\Folder2') 仅在 C:\Folder1 已存在时才有效,同样 CreateDir('C:\F1\F2\F3') 仅在 C:\F1\F2 存在时才有效。为了一步创建“中间”文件夹,您可以使用 Delphi 的 ForceDirectories。
procedure TForm1.Button2Click(Sender: TObject);
begin
if DirectoryExists(Edit1.Text) then
ShowMessage(Edit1.Text + ' exists already')
else begin
ForceDirectories(Edit1.Text);
if DirectoryExists(Edit1.Text) then
ShowMessage('Folder created: ' + Edit1.Text)
else
ShowMessage('Could not create ' + Edit1.Text);
end;
end;