简介
可将文件和文件夹复制或移动到外部存储器。
将参数1定义的文件或文件夹复制或移动到参数2定义的文件或文件夹。
如果目标中存在同名文件或文件夹,可定义是否进行覆盖。还可以包含子文件夹。
关于支持文件复制的机型,请参阅以下内容。
1.5 支持的功能
格式
_FileCopy(源文件夹名称/文件名, 目标文件夹名称/文件名, 模式1, 模式2)
参数1
源文件夹名称:文本、内部寄存器或数据缓冲器
参数2
目标文件名称:文本、内部寄存器或数据缓冲器
参数3
模式1:数值(0、1或2)
值 |
模式 |
描述 |
---|---|---|
0 |
不覆盖 |
如果存在相同文件名,将不复制文件。 |
1 |
覆盖 |
如果存在相同文件名,将覆盖原文件。 |
2 |
剪切 |
如果存在相同文件名,将覆盖原文件。复制完成后,删除原文件。 |
参数4
模式2:数值(0或1)
值 |
模式 |
描述 |
---|---|---|
0 |
复制子文件夹 |
如果参数1是一个文件夹,则在复制操作中包含子文件夹。 |
1 |
不复制子文件夹 |
复制操作中不复制子文件夹。 |
在复制目标中,如果存在同名文件且该文件具有只读属性,则无论参数3中的设置如何,该同名文件都将被覆盖。
如果源文件具有只读属性,则即使将参数3设置为剪切,也不会删除源文件。
复制只读文件时,会在目标文件夹中生成的文件上删除只读属性。但是,使用IPC系列或SP5000开放型主机模块(SP-5B40)时,不能删除此属性。文件保持其只读属性。
在文件属性中,被复制文件使用复制时的日期。但是,使用IPC系列或SP5000系列开放型主机模块(SP-5B40)时,日期将与复制源文件的日期相同。
从外部存储器的根文件夹为参数1和2选择文件或文件夹。
USB存储器:“\USB\DATA”
CF卡:“CF\DATA”
SD卡:“SD\DATA”
IPC系列或SP5000系列开放型主机模块(SP-5B40)时,定义的路径和实际路径不同。定义的根文件夹部分(例如,“\USB”)会被下述路径取代:“C:\PROFACE\DATA”),后者是在[系统设置]-[主机]-[WinGP设置]选项卡的[目标文件夹]区进行的定义。
例如,定义的路径为“\USB\DATA2” → 实际路径为“C:\PROFACE\DATA\DATA2”
参数1和2最多可定义90个单字节字符或45个双字节字符。如果定义的参数超过了最大字符数,仅使用最大值90个单字节/45个双字节字符。
使用IPC系列或SP5000系列开放型主机模块(SP-5B40)时,包括[目标文件夹]路径在内,参数不应超过255个单字节字符。
参数1可以使用通配符(*)。
例如“USB\DATA\*.BIN”(表示USB存储器DATA文件夹中的所有BIN文件)
但不能在扩展名或其他文本上添加通配符,如“data*”。
如果为参数1定义了文件夹或多个文件,且复制操作选择了不覆盖,则将只复制目标中不存在的文件。
如果在复制过程中发生了错误,复制操作将暂停。但脚本会继续运行文件复制函数之后的命令。
在运行文件复制函数时,只有在文件复制过程完成后才能传输或进入离线模式。
如果参数3指定了剪切,且发生了写入错误,将不会删除源文件或文件夹。
表达式示例:
_FileCopy("\USB\DATA\DATA0001.BIN", "\CF\BACKUP\DATA0001.BIN", 0, 0)
在上例中,GP3000系列人机界面使用USB存储器。从它的\DATA文件夹中,复制函数将“DATA0001.BIN”文件复制到CF卡的\BACKUP文件夹,不进行覆盖。
通过在参数1或2中使用内部寄存器,可间接指定复制源文件或文件夹和目标文件或文件夹。
用一个内部寄存器定义文件名
_FileCopy([w:[INTERNAL]LS0100], [w:[INTERNAL]LS0200], 0, 0)
上述表达式读取LS0100中的值,然后将LS0100中定义的文件复制到LS0200定义的目标文件夹。
请务必在文件或文件夹名称的末尾保存NULL字符。
关于数据存储顺序的信息,请参阅以下内容。
22.10.7 数据存储模式
文件复制状态
可通过读取内部寄存器LS9160查看文件复制状态。如果在复制过程中发生了错误,将保存错误代码,且复制操作暂停。
位12~15 |
描述 |
详情 |
---|---|---|
0 |
成功完成 |
处理成功完成。 |
1 |
成功完成(覆盖) |
复制文件夹或复制多个文件时,尽管处理成功完成,也会因为复制操作被设置为不覆盖而导致部分文件无法复制。 |
2 |
参数错误 |
参数定义中存在错误。 |
3 |
保留 |
- |
4 |
无CF/SD卡 |
未在人机界面中插入CF/SD卡,或未关CF卡盖。 |
5 |
读取错误 |
读取外部存储器失败。 源文件或文件夹不存在。 |
6 |
写入错误 |
写入外部存储器失败或没有足够的可用空间。 在将模式1设置为不覆盖的情况下复制单个文件,且在目标中存在同名文件。 在将参数3(模式1)设置为覆盖或剪切的情况下复制单个文件,且在目标中存在属性为只读的同名文件。 复制一个文件夹或多个文件,因部分文件为只读属性而复制失败。 SD卡处于写保护状态。 |
7 |
CF卡错误 |
CF卡无效、未格式化、格式错误或不能使用。 |
8 |
删除错误 |
模式1为剪切,源文件为只读文件或不能删除源文件。 SD卡处于写保护状态 |
9-13 |
保留 |
- |
14 |
无USB存储器 |
人机界面中没有插入USB存储设备。 |
15 |
USB存储器错误 |
USB存储器无效、未格式化、格式错误或不能使用。 |