上一主题: cd、chdir 命令-更改目录(cmdlet、funclet)下一主题: DBG_PROMPT 命令-中断脚本执行以进行检查 (Cmdlet)


copy、cp 命令-复制文件和目录 (Funclet)

这些命令 (funclet) 将文件或目录复制到其他位置。 源位置或目标位置必须位于本地服务器上。 两个远程系统之间的操作不受支持。 要指定远程主机,需使用主机名后接两个冒号 (::) 作为路径名的前缀。 通过 SFTP 执行该操作。 因此,远程系统不一定要安装客户端 AutoShell,具有 SFTP 访问权的 SSH 服务器已足够。 可以使用 set alternate 命令将输出写入文件。

命令的语法如下:

{copy|cp} src trg [-silent] [-retval] [-R] [-user username] [-pass password] [-key key phrase] [-port portnumber]
src

定义用于指定要复制的目录或文件的搜索掩码。 Windows 上的分隔符可以是反斜杠 (\) 或正斜杠 (/)。 对于 UNIX 类系统,分隔符必须是正斜杠。 为实现跨平台脚本兼容性,仅在路径规格中使用正斜杠。

搜索掩码使用与 DOS 通配符匹配兼容的简化正则表达式语法:

其他所有字符都不是特殊字符且与自己匹配。

trg

定义目标位置的路径。

-silent

(可选)禁止输出至活动的输出数据流。

-retval

(可选)创建表示返回值的数组。 数组包含有关新文件名的信息。 每个元素都包含一个表示目标文件的完全限定名称的字符串。

-R

(可选)递归复制目录。

-user username

(可选)指定用于登录到远程节点的用户名。 用户名是密码身份验证或公钥身份验证所必需的。 如果没有指定用户名,则使用在 AutoShell 登录过程中输入的用户名。 未加引号的参数令牌会自动字符串化。 通过用括号括起表达式代码来阻止自动为表达式加引号。

默认值:$$User

-pass password

(可选)指定用于登录到远程节点的密码。 如果没有指定密码,则使用在 AutoShell 登录过程中输入的密码。 要在发出该命令之后输入隐藏的密码,请指定使用可选提示作为参数的 PW_GET()。 未加引号的参数令牌会自动字符串化。 通过用括号括起表达式代码来阻止自动为表达式加引号。

默认值:$$Pass

-key key

(可选)指定包含 RSA 私钥的文件的绝对路径或相对路径,用于登录到远程节点。 如果指定了私钥和密码,AutoShell 将首先尝试公钥登录,如果失败,则尝试密码登录。 未加引号的参数令牌会自动字符串化。 通过用括号括起表达式代码来阻止自动为表达式加引号。 仅在使用公钥身份验证联机创建 SSH 会话时需要此参数。

默认:""

短语

指定私钥的密码。 如果密钥没有加密,则不需要该密码。 要在发出该命令之后输入隐藏的密码,请指定使用可选提示作为参数的 PW_GET()。 未加引号的参数令牌会自动字符串化。 通过用括号括起表达式代码来阻止自动为表达式加引号。

默认:""

-port portnumber

(可选)连接到目标系统的端口。

默认值:SSH 标准端口 22。

示例

将文件 c:/test/test1.log 复制到目录 c:/test1

copy c:/test/test1.log c:/test1

将整个 c:/test 目录复制到目录 c:/test1

cp c:/test c:/test1 -R

将远程主机 remotesys 的整个 c:/test 目录复制到目录 c:/test1 中

cp c:/test1/ remotesys::c:/test1/ -R

另请参阅:

mv、ren 命令-移动文件和目录 (Funclet)