xbCopy (xbcopy.exe)

使用此工具在开发控制台中执行差异文件复制。

xbcopy目标 [search_pattern[...]] [options] [/s[:]levels] [/X[:]address[+<accesskey>]]
选项 说明
source 源目录路径
destination 目标目录路径
search_pattern 指定要复制的文件或搜索模式(支持通配符 * 和 ?)。 如果未指定此参数 *,则用作默认值。 搜索模式由空格分隔,可以包含指向文件的链接,例如,xbcopy.exe c:\mysource xD:\console\path *.png *.txt specific_file.json
选项 指定与 xbcopy 命令一起使用的选项,包括复制、模式和日志记录选项。
/s:[levels] 复制位于指定目录及其所有子目录中的文件。 levels 是一个可选整数,用于指定子目录递归深度。 例如,xbcp /S:1 将仅处理指定的目录和其下一级的子目录。 如果指定 /s,但未指定级别,则所有子目录都包含在内。
/X[:]address[+<accesskey>] 使用此选项指定目标主机的主机名称或地址(显示为主机上的“工具 IP”),但不会更改默认的主机。 有关为主机设置主机名的详细信息,请参阅为主机 IP 地址设置主机名要求授权
- 如果不使用此选项,将使用默认主机(之前已通过 Connect (xbconnect.exe)要求授权 设置)。
- 使用 accesskey字符串可以仅向具有访问密钥的人员授予对主机的访问权限。
- 使用命令 xbconfig accesskey=your-key设置访问密钥,然后重启主机以使访问密钥生效。
- 若要访问配置了访问密钥的主机,必须在主机的 IP 地址或主机名后添加加号 (+) 和访问密钥。
- 如果提供了访问密钥,而默认主机由 xbconnect要求授权 设置,则该访问密钥将作为默认主机地址的一部分存储。
- 有关访问密钥的详细信息,请参阅 xbconfig accesskey要求授权
/LC 指定区域设置代码。 用于覆盖默认区域设置代码

复制模式

复制模式是互斥的,每个复制操作只能指定一个。 如果未指定复制模式,则该工具将检查文件是否已修改,只有已修改的文件才会被考虑用于复制操作。

选项 说明 筛选器支持 搜索模式支持
/list 枚举或列出将复制的所有文件,这可用作复制预览。
覆盖? 如果选中,该工具将不会检查是否正在修改文件,因此将覆盖所有文件。
镜像 删除源中不再存在的目标文件和目录。 如果指定此模式,则无法指定搜索模式和筛选器选项。

筛选器选项

这些选项允许用户通过筛选器指定哪些文件和目录将成为副本的一部分。 该工具允许提供两种类型的筛选器:

  • shell 命令筛选器(/exd、/exf/ /ina 和 /exa)。
  • JSON 文件筛选器(/规则)
选项 说明
/exf [file-name] […] 排除与指定名称或路径匹配的文件。 通配符 受支持。 例如: xbcopy src dst /s /exf *.png *.data 将排除具有 png 和数据扩展名的所有文件。
/exd [directory-name] […] 排除与指定名称和路径匹配的目录。 通配符 受支持。 例如: xbcopy src dst /s /exd 资产 将排除名称中包含单词资产的任何目录,使其不被复制。
/ina:[R][A][S][H] 仅包括为其设置了任何指定属性的文件。 支持的有效选项包括 R (只读) 、A (存档) 、S (系统) 和 H (隐藏)
/exa:[R][A][S][H] 排除为其设置了任何指定属性的文件。 支持的排除有效选项包括 R (只读) 、A (存档) 、S (系统) 和 H (隐藏)
/rules:[file_name] 指定一个 JSON 文件,该文件提供由 shell 命令参数提供的更强大的排除/包含文件/目录筛选功能。 有关文件格式的详细信息,请参阅 JSON 规则文件格式 部分。

日志记录选项

xbCopy 提供以下日志记录选项:

选项 说明
/nlh 不要将标头包含到日志记录中
/nlc 不要将文件列标题包含在日志记录中
/nlsi 不要将文件大小包含在日志记录中
/nlst 请勿将文件复制状态包含在日志记录中
/nlsu 不要将摘要包含在日志记录中
/Nlp 不要将复制进度包含在日志记录中
/nlf 不要在日志记录中包含文件名

JSON 规则文件格式

此文件由两个 JSON 规则对象数组组成。 可以根据需要指定一个或两个。 一个数组包含用于指定要从复制操作中排除的文件或目录的规则,而另一个数组包含用于指定将包括哪些文件或目录的规则。

注意事项:

  • 要排除或包含的文件或目录必须分别与每个数组中的至少一个规则匹配。
  • 如果排除给定目录,则也会排除其所有子目录。
  • 如果未指定包含规则,则所有文件和目录都将是副本的一部分,除非它们与其中一个排除规则匹配。
  • 排除规则优先,因此,如果文件或目录同时与包含和排除规则匹配,则会将其排除。
  • 在数组中,规则按顺序应用。 这意味着,首先在数组上定义的数组是首先检查的。

下面可以看到 JSON 规则文件的常规语法格式:

{
        "ExcludeRules" : [rule_1, rule_2, rule_3, …, rule_N],
        "IncludeRules"  : [rule_1, rule_2, rule_3, …, rule_N]
}

规则格式

规则对象至少由两个属性组成:搜索模式(通配符或正则表达式)和 ApplyTo。 路径属性是可选的。 可在下面找到每个属性的说明。

属性 说明 必需(请参阅备注)
“通配符” 指定一个通配符搜索模式,根据规则的放置位置,文件或目录必须匹配才能考虑包含或排除。 仅 * 和 ? 支持作为通配符搜索模式的一部分。
“正则表达式” 指定正则表达式搜索模式,文件或目录必须匹配才能考虑包含或排除,具体取决于规则的放置位置。
“ApplyTo” 指定规则范围,换言之,如果规则将仅应用于文件、仅目录或两者。 有效值为“File”、“Directory”或“Both”
“路径” 指定将应用的搜索模式,可以是完整路径、相对路径或单个名称。 如果未提供此参数,则假定完整路径。 有效值为“Full”、“Relative”或“Name”

注意:不能在同一规则上同时使用通配符和正则表达式属性,每个规则一次只能指定一个。 定义和定位规则时要小心,尤其是在它们之间存在重叠时。

JSON 规则文件示例

示例 1:用于排除文件和目录的规则文件格式。

以下文件将:

  • 排除扩展名.xml和.exe的文件
  • 排除名称等于“assets”的任何目录
{
        "ExcludeRules" : 
        [
                {
                        "Wildcard" : "*.xml",
                        "ApplyTo"  : "File"
                },
                {
                        "Wildcard" : "assets",
                        "ApplyTo"  : "Directory", 
                        "Path"        : "Name"
                },
                {
                        "Regex"      : "^.*\\.exe$",
                        "ApplyTo"  : "File",
                        "Path"        : "Name"
                }
        ],

        "IncludeRules" : []
}

示例 2:用于指定必须复制的文件和目录的规则文件格式。

此规则文件格式将仅复制扩展名为 .exe 和 .data 的文件

{
        "ExcludeRules" : [],
        "IncludeRules" : 
        [
                {
                        "Wildcard" : "*.exe",
                        "ApplyTo"  : "File"
                },
                {
                        "Wildcard" : "*.data",
                        "ApplyTo"  : "File"
                }
        ]
}

xbCopy 示例

示例 说明
xbcopy c:\mysource xD:\Some\RemoteFolder *.png /s 单个搜索模式和所有子目录
xbcopy c:\mysource xD:\Some\RemoteFolder *.png /s:2 单一搜索模式和两个子目录深度
xbcopy c:\mysource xD:\Some\RemoteFolder *.png *.txt *.log /s 多个搜索模式
xbcopy c:\mysource xD:\Some\RemoteFolder /exd data 单个排除目录
xbcopy c:\mysource xD:\Some\RemoteFolder /s /exd databin 多个排除目录
xbcopy c:\mysource xD:\Some\RemoteFolder /s /exf *.xml 单个排除文件筛选器
xbcopy c:\mysource xD:\Some\RemoteFolder /s /exf specific_file.ext *.mp? 多个排除文件
xbcopy c:\mysource xD:\Some\RemoteFolder /s /rules:filter.json 使用 json 规则文件应用筛选器
xbcopy c:\mysource xD:\Some\RemoteFolder /s /rules:filter.json /list 应用列表复制模式以预览副本

另请参阅

命令行工具要求授权

文件复制要求授权

XTF 传输错误要求授权