FileCopy
提供: AutoHotkey Wiki
実行制御 | GUI表示 | 演算・変数 | メモリ・DLL操作 | 文字列操作 |
キーボード | マウス | シェル | ウィンドウ | ウィンドウグループ
ステータスバー | コントロール | サウンド | ファイル | INIファイル |
レジストリ | 環境変数 | AutoHotkey | その他 | 設定関係 | オブジェクト
FileCopy[編集]
ファイルをコピーする。
FileCopy, SourcePattern, DestPattern [, Flag]
Parameters[編集]
引数名 | 説明 | |
---|---|---|
SourcePattern | ファイル名もしくはワイルドカード。 相対パスで指定した場合は、%A_WorkingDir%を基準としたパスとなる。 | |
DestPattern | コピー後のファイル名もしくはワイルドカード。 相対パスで指定した場合は、%A_WorkingDir%を基準としたパスとなる。 | |
Flag | (オプション)ファイルが存在する場合の処理設定、省略時は 0 。
| |
0 | 同名のファイルが存在したときはコピーしない。(デフォルト) | |
1 | 同名のファイルが存在したときに上書きを行う。 |
ErrorLevel[編集]
コピーに失敗したファイルの数を格納する。それ以外の場合は 0
となる。
FileMove とは異なり、上書きフラグを指定していたとしても自分自身へのコピーはエラーとして数えられる。
AHKL [L55+] 削除対象ファイルが見つかった場合は A_LastError は 0
となる。見つからない場合は、直前の失敗の直後にOSの GetLastError() 関数の戻り値を格納する。即ち、ファイルが見つからないかの原因を示すエラーコードが格納される。
AHKL [v1.1.04+] このコマンドは失敗した場合に例外をスローすることができる。詳細は実行時エラーを参照。
Remarks[編集]
コピー中にエラーが発生しても、処理は続行される
ファイルをそのファイル自身に上書きコピーしようとした場合、エラーとみなされる。
サブフォルダを含めフォルダ内のファイルをすべてコピーするには、FileCopyDirを使用する。
Related[編集]
FileMove, FileCopyDir, FileMoveDir, FileDelete
Example(s)[編集]
FileCopy, C:\My Documents\List1.txt, D:\Main Backup\; Make a copy but keep the orig. file name.
FileCopy, C:\My File.txt, C:\My File New.txt; Copy a file into the same folder by providing a new name.
FileCopy, C:\Folder1\*.txt, D:\New Folder\*.bkp; Copy to new location and give new extension.
; The following example copies all files and folders inside a folder to a different folder:
ErrorCount := CopyFilesAndFolders("C:\My Folder\*.*", "D:\Folder to receive all files & folders") If ErrorCount <> 0 MsgBox %ErrorCount% files/folders could not be copied. CopyFilesAndFolders(SourcePattern, DestinationFolder, DoOverwrite = false); Copies all files and folders matching SourcePattern into the folder named DestinationFolder and
; returns the number of files/folders that could not be copied.
{; First copy all the files (but not the folders):
FileCopy, %SourcePattern%, %DestinationFolder%, %DoOverwrite% ErrorCount := ErrorLevel; Now copy all the folders:
Loop, %SourcePattern%, 2; 2 means "retrieve folders only".
{ FileCopyDir, %A_LoopFileFullPath%, %DestinationFolder%\%A_LoopFileName%, %DoOverwrite% ErrorCount += ErrorLevel If ErrorLevel; Report each problem folder by name.
MsgBox Could not copy %A_LoopFileFullPath% into %DestinationFolder%. } Return ErrorCount }