AutoHotKey(오토핫키) 설명서 FileMove

Posted by 발전소장
2014. 8. 14. 00:29 AutoHotKey/Commands

FileMove

파일을 이동·rename 한다

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
}