ファイルを移動・リネームする
FileMove, SourcePattern, DestPattern [, Flag]
| 引数名 | 説明 |
|---|---|
| SourcePattern |
ファイル名もしくはワイルドカード。 相対パスで指定した場合は、%A_WorkingDir%を基準としたパスとなる。 |
| DestPattern | 移動後のファイル名もしくはワイルドカード。 相対パスで指定した場合は、%A_WorkingDir%を基準としたパスとなる。 |
| Flag | 「1」を指定すると、同名のファイルが存在したときに上書きを行う。 省略時や「0」を指定した場合は、同名のファイルが存在したときは移動しない。 |
移動に失敗したファイルの数になる
ファイルをそのファイル自身へ移動しようとした場合は、必ず成功とみなされる。
異なるドライブ間での移動は、コピーと削除の動作によって行われる。
フォルダを移動するには、FileMoveDirを使用する。
FileCopy, FileCopyDir, FileMoveDir, FileDelete
FileMove, C:\My Documents\List1.txt, D:\Main Backup\ ; Move the file without renaming it. FileMove, C:\File Before.txt, C:\File After.txt ; Rename a single file. FileMove, C:\Folder1\*.txt, D:\New Folder\*.bkp ; Move and rename files to a new extension.
; The following example moves all files and folders inside a folder to a different folder:
ErrorCount := MoveFilesAndFolders("C:\My Folder\*.*", "D:\Folder to receive all files & folders")
if ErrorCount <> 0
MsgBox %ErrorCount% files/folders could not be moved.
MoveFilesAndFolders(SourcePattern, DestinationFolder, DoOverwrite = false)
; Moves all files and folders matching SourcePattern into the folder named DestinationFolder and
; returns the number of files/folders that could not be moved. This function requires v1.0.38+
; because it uses FileMoveDir's mode 2.
{
if DoOverwrite = 1
DoOverwrite = 2 ; See FileMoveDir for description of mode 2 vs. 1.
; First move all the files (but not the folders):
FileMove, %SourcePattern%, %DestinationFolder%, %DoOverwrite%
ErrorCount := ErrorLevel
; Now move all the folders:
Loop, %SourcePattern%, 2 ; 2 means "retrieve folders only".
{
FileMoveDir, %A_LoopFileFullPath%, %DestinationFolder%\%A_LoopFileName%, %DoOverwrite%
ErrorCount += ErrorLevel
if ErrorLevel ; Report each problem folder by name.
MsgBox Could not move %A_LoopFileFullPath% into %DestinationFolder%.
}
return ErrorCount
}