FileCopy() 関数FileCopy()かんすう
- Last UpdatedSep 26, 2024
- 1 minute read
ソース ファイルをコピー先ファイルにコピーして、結果状態を返します。この関数の実行には時間がかかることがあり、以下の複数の段階で実行されます。
-
FileCopy() 関数が呼び出され、ファイル コピー開始が成功または失敗したかを示す結果が返されます。
-
FileCopy() 関数は、バックグランドでコピー操作を実行し、InTouch スクリプトは、ファイルのコピー中も実行を続けます。ファイル コピーの進行状況は、整数型タグを使用して監視できます。
-
FileCopy() 関数は、ファイル コピー操作が成功または失敗したことを示すファイル コピーの結果を返します。
コピー先フォルダが使用できない場合(ネットワークの別のコンピュータなど)、関数はタイムアウトまで最大 10 秒間待機し、メッセージを Logger にポストします。
注意 : FileCopy() 関数は、非同期クイック関数では使用しないでください。
構文
result = FileCopy (sourcefile, destfile, progresstag)
パラメータ
sourcefile
コピーされるファイルのフル パスおよびファイル名です。リテラル文字列値、メッセージ型タグ名、または文字列式です。このパラメータでワイルカード文字(* および ?)を使用すると、指定条件に一致するファイルだけをコピーできます。パス名には、UNC パス名も使用できます。
destfile
コピー先のフル パスおよびファイル名(またはパス名のみ)です。リテラル文字列値、メッセージ型タグ名、または文字列式です。パス名には、UNC パスも使用できます。
progresstag
ファイル コピーの進行状況を示す値を含む、二重引用符で囲まれた整数型タグの名前です。リテラル文字列値、メッセージ型タグ名(値 "IntTag.Name" を含むメッセージ型タグなど)、または文字列式です。値の意味は以下のとおりです。
0 - FileCopy() 操作は現在進行中です。
1 - FileCopy() 操作は正常に完了しました。
-1 - FileCopy() 操作はエラーで終了しました。
戻り値
以下を示す -1、0、または 1 の値です。
1 - FileCopy() 関数は、正常に呼び出されました。
0 - 別の FileCopy() 操作がすでに実行されているため、FileCopy() 関数を呼び出すときにエラーが発生しました。
-1 - ソース ファイルが存在しないか、コピー先ファイルが読み取り専用であるため、FileCopy() 関数を呼び出すときにエラーが発生しました。
例
このスクリプトは、ファイル c:\MyData\output.log をディレクトリ d:\archive にコピーして、ファイルの名前を output.txt に変更します。ファイル コピーの進行状況は、整数型タグ Monitor に書き込まれます。
Status=FileCopy("c:\MyData\output.log","d:\archive\output.txt","Monitor");
このスクリプトは、c:\ ルート ディレクトリにあり、名前が .txt で終わるすべてのファイルをコピー先ディレクトリ c:\Backup にコピーします。
Status=FileCopy("c:\*.txt", "c:\Backup", "Monitor");
このスクリプトは、フル パスおよびファイル名がメッセージ型タグ LogFile に含まれるファイルをコピー先ディレクトリ c:\results\ にコピーして、そのファイルの名前を logxxx.txt に変更します。ここで、xxx はタイムスタンプです。
Status=FileCopy(LogFile, "c:\results\log" + $DateString + $TimeString + ".txt", "Monitor");