FileCopy
复制一或多个文件.
FileCopy ( "source", "dest" [, flag = 0] )
参数
source
|
被复制源文件的路径.支持通配符 * 和 ?. 见备注
|
dest
|
复制到目的路径.
|
flag
|
[可选] 确定是否覆盖已存在的文件.
可以是以下值的组合:
$FC_NOOVERWRITE (0) = (默认) 不覆盖已存在的文件
$FC_OVERWRITE (1) = 覆盖已存在的文件
$FC_CREATEPATH (8) = 自动创建不存在的目标目录结构 (见备注).
常量定义在 FileConstants.au3
|
返回值
备注
通配符约定见 FileFindFirstFile.
目的目录必须已存在,除非设置标志为 $FC_CREATEPATH (8).
组合标志 $FC_OVERWRITE (1) + $FC_CREATEPATH (8) 覆盖存在的目标文件,
并预先检查目标目录结构, 如果标的目录结构不存在, 则自动创建.
某些文件属性会不允许覆盖操作, 此时应先调用 FileSetAttrib() 函数, 修改文件属性.
函数示例
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>
Example()
Func Example()
; Create a constant variable in Local scope of the filepath that will be read/written to.
Local Const $sFilePath = _WinAPI_GetTempFileName(@TempDir)
; Create a temporary file to copy.
If Not FileWrite($sFilePath, "This is an example of using FileCopy.") Then
MsgBox($MB_SYSTEMMODAL, "", "An error occurred whilst writing the temporary file.")
Return False
EndIf
; Copy Au3 files in the temporary directory to a new folder/directory called Au3Files.
FileCopy(@TempDir & "\*.au3", @TempDir & "\Au3Files\", $FC_OVERWRITE + $FC_CREATEPATH)
; Display the temporary directory.
ShellExecute(@TempDir)
EndFunc ;==>Example
----------------------------------------
该函数可以通过命令 exect 调用
参见:
FileMove, FileDelete, DirCopy, DirCreate
exect=FileCopy('c:\Test\1.txt','c:\Test\1\') ;; 复制文件的示例
exect=FileCopy('C:\Temp\*.log','C:\Temp2\*.txt',9) ;;将Temp文件夹的所有日志文件复制到Temp2文件夹的.txt文件,保留原始名称相同(标记9 = 1 + 8,其中1 - 覆盖文件,8 - 创建目标文件夹)
exect=FileCopy('C:\Temp\*.txt','C:\Temp\TxtFiles\',1) ;; 将具有原始名称的Temp文件夹的所有txt文件复制到文件夹Temp\TxtFiles中,替换现有文件(不带标志8,如果目标文件夹不存在,则不会复制)
© Аверин Андрей для Total Commander Image Averin-And@yandex.ru
|