FileMove

ファイルを移動・リネームする

FileMove, SourcePattern, DestPattern [, Flag]

Parameters

引数名説明
SourcePattern ファイル名もしくはワイルドカード。
相対パスで指定した場合は、%A_WorkingDir%を基準としたパスとなる。
DestPattern 移動後のファイル名もしくはワイルドカード。 相対パスで指定した場合は、%A_WorkingDir%を基準としたパスとなる。
Flag 「1」を指定すると、同名のファイルが存在したときに上書きを行う。
省略時や「0」を指定した場合は、同名のファイルが存在したときは移動しない。

ErrorLevel

移動に失敗したファイルの数になる

Remarks

ファイルをそのファイル自身へ移動しようとした場合は、必ず成功とみなされる。

異なるドライブ間での移動は、コピーと削除の動作によって行われる。

フォルダを移動するには、FileMoveDirを使用する。

Related

FileCopy, FileCopyDir, FileMoveDir, FileDelete

Example(s)

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
}