FileMove

首页  后退  前进

FileMove
down2

FileMove

移动一或多个文件.

 

FileMove ( "source", "dest" [, flag = 0] )

参数

source

源文件的路径和文件名. (支持 * 通配符 - 见备注)

dest

移动到的目标路径和文件名. (支持 * 通配符 - 见备注))

flag

[可选] 确定是否覆盖已存在的文件:

可以是以下值的组合:

   $FC_NOOVERWRITE (0) = (默认) 不覆盖已存在的文件

   $FC_OVERWRITE (1) = 覆盖已存在的文件

   $FC_CREATEPATH (8) = 自动创建不存在的目标目录结构 (见备注).

 

常量定义在 FileConstants.au3

返回值

成功:

返回 1.

失败:

返回 0, 源文件无法移动; 或目标文件已存在而又设置了标志=0.

备注

有关通配符的描述参见 FileFindFirstFile() 函数帮助页.

 

若源路径和目的路径位于不同的卷, 则本函数将执行复制/删除操作而不是直接移动.

 

由于 AutoIt 没有 "FileRename"(文件重命名) 函数,请使用本函数重命名文件!

 

目的目录必须已存在,除非设置标志为 $FC_CREATEPATH (8).

组合标志 $FC_OVERWRITE (1) + $FC_CREATEPATH (8) 覆盖存在的目标文件, 当目标文件夹不存在时将自动创建.

 

某些文件属性会不允许覆盖操作, 此时应先调用 FileSetAttrib() 函数修改文件属性.

 

函数示例

示例 1

#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 move.
    If Not FileWrite($sFilePath, "This is an example of using FileMove.") Then
        MsgBox($MB_SYSTEMMODAL, "", "An error occurred whilst writing the temporary file.")
        Return False
    EndIf
    ; Move Au3 files in the temporary directory to a new folder/directory called Au3Files.
    FileMove(@TempDir & "\*.au3", @TempDir & "\Au3Files\", $FC_OVERWRITE + $FC_CREATEPATH)
    ; Display the temporary directory.
    ShellExecute(@TempDir)
EndFunc   ;==>Example

示例 2

#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>
Example()
Func Example()
    ; Create a constant variable in Local scope of the filepaths that will be renamed.
    Local Const $sSource = _WinAPI_GetTempFileName(@TempDir), _
            $sDestination = _WinAPI_GetTempFileName(@TempDir)
    ; Create a temporary file to rename.
    If Not FileWrite($sSource, "This is an example of using FileMove.") Then
        MsgBox($MB_SYSTEMMODAL, "", "An error occurred whilst writing the temporary file.")
        Return False
    EndIf
    ; Rename a file using FileMove and overwrite the new file if it exists.
    FileMove($sSource, $sDestination, $FC_OVERWRITE)
    ; Display results that the destination file was renamed.
    MsgBox($MB_SYSTEMMODAL, "", "Does the source file exist?: " & FileExists($sSource) & @CRLF & _ ; FileExists should return 0.
            "Does destination file exist?: " & FileExists($sDestination) & @CRLF) ; FileExists should return 1.
    ; Delete the temporary files. FileDelete checks if the file exists.
    FileDelete($sSource)
    FileDelete($sDestination)
EndFunc   ;==>Example

----------------------------------------

参见:

FileCopy, FileDelete, FileRecycle, DirMove

例子
copy

exect=FileMove('C:\Test\test.txt','D:\My\test_bak.txt') ;; 将test.txt文件从Test文件夹移动到我的文件夹,更改test_bak.txt中的名称(如果文件夹D:\My\未创建,则不会移动)

 

exect=FileMove('C:\Test\test.txt','D:\My\test_bak.txt',8) ;; 将test.txt从Test文件夹移动到我的文件夹,并改变test_bak.txt中的名称(如果文件夹D:\My\不被创建,则创建并且文件不会移动)

 

exect=FileMove('C:\Test\test.txt','D:\My\test_bak.txt',9) ;; 将test.txt文件从Test文件夹移动到我的文件夹,将名称更改为带有替换的test_bak.txt,如果这样的文件已经存在(如果文件夹D:\My\not created,那么文件不被移动)

 

exect=FileMove('C:\Test\*.txt','D:\TxtFiles\',9) ;; 将所有txt文件从Test文件夹移动到TxtFiles

up2

tcimage © Аверин Андрей для Total Commander Image Averin-And@yandex.ru