文件管理类函数(1)

//判断文件是否存在 FileExists
var
  f: string;
begin
  f := 'c: emp est.txt';
  if not FileExists(f) then
  begin
    //如果文件不存在
  end;
end;

//判断文件夹是否存在 DirectoryExists
var
  dir: string;
begin
  dir := 'c:	emp';
  if not DirectoryExists(dir) then
  begin
    //如果文件夹不存在
  end;
end;

//删除文件 DeleteFile; Windows.DeleteFile
var
  f: string;
begin
  f := 'c:	emp	est.txt';
  //DeleteFile(f);  //返回 Boolean

  //或者用系统API:
  Windows.DeleteFile(PChar(f));  //返回 Boolean
end;

//删除文件夹 RemoveDir; RemoveDirectory
var
  dir: string;
begin
  dir := 'c:	emp';
  RemoveDir(dir);  //返回 Boolean

  //或者用系统 API:
  RemoveDirectory(PChar(dir));  //返回 Boolean
end;

//获取当前文件夹 GetCurrentDir
var
  dir: string;
begin
  dir := GetCurrentDir;
  ShowMessage(dir); //C:Documents and SettingswyMy DocumentsRAD StudioProjects
end;

//设置当前文件夹 SetCurrentDir; ChDir; SetCurrentDirectory
var
  dir: string;
begin
  dir := 'c:	emp';
  if SetCurrentDir(dir) then
    ShowMessage(GetCurrentDir);  //c:	emp

  //或者
  ChDir(dir);  //无返回值

  //也可以使用API:
  SetCurrentDirectory(PChar(Dir));  //返回 Boolean
end;

//获取指定驱动器的当前路径名 GetDir
var
  dir: string;
  b: Byte;
begin
  b := 0;
  GetDir(b,dir);
  ShowMessage(dir);  //

  //第一个参数: 1、2、3、4...分别对应: A、B、C、D...
  //0 是缺省驱动器
end;

//文件改名 RenameFile
var
  OldName,NewName: string;
begin
  OldName := 'c:	empOld.txt';
  NewName := 'c:	empNew.txt';

  if RenameFile(OldName,NewName) then
    ShowMessage('改名成功!');

  //也可以:
  SetCurrentDir('c:	emp');
  OldName := 'Old.txt';
  NewName := 'New.txt';

  if RenameFile(OldName,NewName) then
    ShowMessage('改名成功!');
end;

//建立文件夹 CreateDir; CreateDirectory; ForceDirectories
var
  dir: string;
begin
  dir := 'c:	empdelphi';
  if not DirectoryExists(dir) then
    CreateDir(dir);  //返回 Boolean

  //也可以直接用API:
  CreateDirectory(PChar(dir),nil);  //返回 Boolean

  //如果缺少上层目录将自动补齐:
  dir := 'c:	empCodeGearDelphi2007万一';
  ForceDirectories(dir);  //返回 Boolean
end;

//删除空文件夹 RemoveDir; RemoveDirectory
var
  dir: string;
begin
  dir := 'c:	empdelphi';
  RemoveDir(dir);  //返回 Boolean

  //也可以直接用API:
  RemoveDirectory(PChar(dir));  //返回 Boolean
end;

//建立新文件 FileCreate
var
  FileName: string;
  i: Integer;
begin
  FileName := 'c:	emp	est.dat';
  i := FileCreate(FileName);

  if i>0 then
    ShowMessage('新文件的句柄是: ' + IntToStr(i))
  else
    ShowMessage('创建失败!');
end;

//获取当前文件的版本号 GetFileVersion
var
  s: string;
  i: Integer;
begin
  s := 'C:WINDOWS
otepad.exe';
  i := GetFileVersion(s);  //如果没有版本号返回 -1
  ShowMessage(IntToStr(i));  //327681 这是当前记事本的版本号(还应该再转换一下)
end;

//获取磁盘空间 DiskSize; DiskFree
var
  r: Real;
  s: string;
begin
  r := DiskSize(3);  //获取C:总空间, 单位是字节
  r := r/1024/1024/1024;
  Str(r:0:2,s);  //格式为保留两位小数的字符串
  s := 'C盘总空间是: ' + s + ' GB';
  ShowMessage(s);  //xx.xx GB

  r := DiskFree(3);  //获取C:可用空间
  r := r/1024/1024/1024;
  Str(r:0:2,s);
  s := 'C盘可用空间是: ' + s + ' GB';
  ShowMessage(s);  //xx.xx GB
end;

原文地址:https://www.cnblogs.com/shijiaoyun/p/3844520.html