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

AVEVA™ InTouch HMI

FileCopy() 函数

  • Last UpdatedSep 24, 2024
  • 1 minute read

将源文件复制到目标文件,并返回状态结果。此函数可能要花费较长时间并分为多个阶段来执行:

  1. 调用 FileCopy() 函数并返回中间结果,指出文件复制初始化操作是成功还是失败。

  2. FileCopy() 函数在后台执行复制过程,InTouch 脚本在复制文件的过程中继续执行。您可以使用一个整型标记来监视文件复制进度。

  3. FileCopy() 函数返回文件复制结果,指出文件复制过程是成功还是失败。

如果目标文件夹不可用(例如,在网络中的另一台计算机上),则该函数最多等待 10 秒便会超时,然后向 Logger 发送一条消息。

注意:请勿在异步 QuickFunction 中使用 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:\ root 目录中以 .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
Related Links