• 文件(夹)复制、删除、重命名


    1. //------------------------------------------------------------------------------
    2. // 删除目录
    3. //------------------------------------------------------------------------------
    4. function DelDirectory(const Source: string): boolean;
    5. var
    6.   fo: TSHFILEOPSTRUCT;
    7. begin
    8.   FillChar(fo, SizeOf(fo), 0);
    9.   with fo do
    10.   begin
    11.     Wnd := 0;
    12.     wFunc := FO_DELETE;
    13.     pFrom := PChar(source + #0);
    14.     pTo := #0#0;
    15.     fFlags := FOF_NOCONFIRMATION + FOF_SILENT;
    16.   end;
    17.   Result := (SHFileOperation(fo) = 0);
    18. end;
    19. //------------------------------------------------------------------------------
    20. // 复制目录
    21. //------------------------------------------------------------------------------
    22. function CopyDirectory(const Source, Dest: string): boolean;
    23. var
    24.   fo: TSHFILEOPSTRUCT;
    25. begin
    26.   FillChar(fo, SizeOf(fo), 0);
    27.   with fo do
    28.   begin
    29.     Wnd := 0;
    30.     wFunc := FO_COPY;
    31.     pFrom := PChar(source + #0);
    32.     pTo := PChar(Dest + #0);
    33.     fFlags := FOF_NOCONFIRMATION + FOF_NOCONFIRMMKDIR;
    34.   end;
    35.   Result := (SHFileOperation(fo) = 0);
    36. end;
    37. //------------------------------------------------------------------------------
    38. // 重新命名目录     RenDirectory('d:/wt2','d:/bcde');
    39. //------------------------------------------------------------------------------
    40. function RenDirectory(const OldName, NewName: string): boolean;
    41. var
    42.   fo: TSHFILEOPSTRUCT;
    43. begin
    44.   FillChar(fo, SizeOf(fo), 0);
    45.   with fo do
    46.   begin
    47.     Wnd := 0;
    48.     wFunc := FO_RENAME;
    49.     pFrom := PChar(OldName + #0);
    50.     pTo := pchar(NewName + #0);
    51.     fFlags := FOF_NOCONFIRMATION + FOF_SILENT;
    52.   end;
    53.   Result := (SHFileOperation(fo) = 0);
    54. end;
    55. //------------------------------------------------------------------------------
    56. // 复制多个文件
    57. //------------------------------------------------------------------------------
    58. function CopyFiles(const Source, Dest: string): boolean;
    59. var
    60.   fo: TSHFILEOPSTRUCT;
    61. begin
    62.   FillChar(fo, SizeOf(fo), 0);
    63.   with fo do
    64.   begin
    65.     Wnd := 0;
    66.     wFunc := FO_COPY;
    67.     pFrom := @source[1];
    68.     pTo := pchar(dest);
    69.     fFlags := FOF_NOCONFIRMATION + FOF_NOCONFIRMMKDIR;
    70.   end;
    71.   Result := (SHFileOperation(fo) = 0);
    72. end;
    73. procedure TForm1.Button1Click(Sender: TObject);
    74. var
    75.   str: string;
    76.   i: integer;
    77. begin
    78.   if opendialog1.Execute then
    79.   begin
    80.     for i := 0 to OpenDialog1.Files.Count - 1 do
    81.       str := str + OpenDialog1.Files.strings[i] + #0;
    82.     showmessage(str);
    83.     str := str + #0;
    84.     CopyFiles(str, 'd:/temp');
    85.   end;
    86. end;

    注:需要引用ShellAPI单元

  • 相关阅读:
    python 输入年月日,返回当天是星期几
    python isdigit()函数
    python 字典复制(存疑)
    python 文本文件操作
    python 字符串实例:检查并判断密码字符串的安全强度
    python isinstance()判断数据类型
    python 字符串方法
    python format使用方法
    python 关于异常处理 try...except... 的两个案例
    gparted 不能起作用的时候,用fdisk
  • 原文地址:https://www.cnblogs.com/zhaoshujie/p/9594814.html
Copyright © 2020-2023  润新知