Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ InTouch HMI

FileCopy() 関数FileCopy()かんすう

  • Last UpdatedSep 26, 2024
  • 1 minute read

ソース ファイルをコピー先ファイルにコピーして、結果状態を返します。この関数の実行には時間がかかることがあり、以下の複数の段階で実行されます。

  1. FileCopy() 関数が呼び出され、ファイル コピー開始が成功または失敗したかを示す結果が返されます。

  2. FileCopy() 関数は、バックグランドでコピー操作を実行し、InTouch スクリプトは、ファイルのコピー中も実行を続けます。ファイル コピーの進行状況は、整数型タグを使用して監視できます。

  3. 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");

In This Topic