xcopy

您所在的位置:网站首页 copy命令另一个程序正在使用此文件 xcopy

xcopy

2023-10-21 23:27| 来源: 网络整理| 查看: 265

xcopy 项目 09/06/2023

复制文件和目录,包括子目录。

有关如何使用此命令的示例,请参阅示例。

语法 Xcopy [] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d [:MM-DD-YYYY]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a | /m}] [/n] [/o] [/x] [/exclude:FileName1[+[FileName2]][+[FileName3]]] [{/y | /-y}] [/z] [/b] [/j] [/compress] 参数 参数 说明 必需。 指定要复制的文件的位置和名称。 此参数必须包括驱动器或路径。 [] 指定要复制的文件的目标。 此参数可以包括驱动器号后接冒号、目录名、文件名或这几项的组合。 /W 在开始复制文件之前显示以下消息并等待你的响应:按任意键开始复制文件 /p 提示你确认是否要创建每个目标文件。 /c 忽略错误。 /v 在将每个文件写入目标文件时对其进行验证,以确保目标文件与源文件相同。 /q 禁止显示 xcopy 消息。 /f 复制时显示源文件名和目标文件名。 /l 生成要复制的文件列表,但不主动复制文件。 /g 当目标不支持加密时创建解密的目标文件。 /d [:MM-DD-YYYY] 仅复制在指定的日期或之后更改的源文件。 如果不包含 MM-DD-YYYY 值,则 xcopy 会复制比现有目标文件更新的所有源文件。 此命令行选项可用于更新已更改的文件。 /u 从仅存在于目标上的源复制文件。 /i 如果源是目录或包含通配符,并且目标不存在,则 xcopy 会假设目标指定了目录名,并会创建新目录。 然后,xcopy 将所有指定文件复制到新目录中。 默认情况下,xcopy 会提示你指定目标是文件还是目录。 /s 复制目录和子目录,除非它们是空的。 如果省略 /s,则 xcopy 在单个目录中运行。 /e 复制所有子目录,即使它们是空的。 将 /e 与 /s 和 /t 命令行选项结合使用。 /t 仅复制子目录结构(即树),而不复制文件。 若要复制空目录,必须包含 /e 命令行选项。 /k 复制文件,并保留目标文件的只读属性(如果存在于源文件上)。 默认情况下,xcopy 会删除只读属性。 /r 复制只读文件。 /h 复制具有隐藏文件和系统文件属性的文件。 默认情况下,xcopy 不会复制隐藏文件或系统文件 /a 仅复制设置了存档文件属性的源文件。 /a 不会修改源文件的存档文件属性。 有关如何使用 attrib 设置存档文件属性的信息,请参阅相关链接。 /m 复制设置了存档文件属性的源文件。 与 /a 不同,/m 会关闭源中指定的文件的存档文件属性。 有关如何使用 attrib 设置存档文件属性的信息,请参阅相关链接。 /n 使用 NTFS 短文件名或目录名创建副本。 将文件或目录从 NTFS 卷复制到 FAT 卷,或者当目标上需要 FAT 文件系统命名约定(即 8.3 命名规则字符)时,/n 是必需的。 目标文件系统可以是 FAT 或 NTFS。 /o 复制文件所有权和自由访问控制列表 (DACL) 信息。 /x 复制文件审核设置和系统访问控制列表 (SACL) 信息(隐含 /o)。 /exclude:FileName1[+[FileName2]][+[FileName3]( )] 指定文件列表。 必须至少指定一个文件。 每个文件将包含搜索字符串,每个字符串在文件中独占一行。 当任一字符串与要复制的文件的绝对路径的任一部分匹配时,将排除该文件的复制。 例如,指定字符串 obj 将排除目录 obj 下的所有文件,或扩展名为 .obj 的所有文件。 /y 禁止提示你确认覆盖现有目标文件。 /-y 提示你确认覆盖现有目标文件。 /z 以可重启模式通过网络复制。 /b 复制符号链接,而不复制文件。 此参数是在 Windows Vista® 中引入的。 /j 复制文件而不缓冲。 建议用于非常大的文件。 此参数是在 Windows Server 2008 R2 中添加的。 /compress 在文件传输期间请求网络压缩(如果适用)。 /? 在命令提示符下显示帮助。 备注

使用 /z

如果在复制阶段断开连接(例如,如果服务器脱机,则会断开连接),在重新建立连接后,复制将会恢复。 /z 还显示针对每个文件执行的复制操作的完成百分比。

在 COPYCMD 环境变量中使用 /y。

可以在 COPYCMD 环境变量中使用 /y。 可以在命令行中使用 /-y 来替代此命令。 默认会提示你是否要覆盖。

复制加密的文件

将加密的文件复制到不支持 EFS 的卷会导致错误。 首先解密文件,或者将文件复制到支持 EFS 的卷。

追加文件

若要追加文件,请为目标指定单个文件,但为源指定多个文件(即,使用通配符或 file1+file2+file3 格式)。

目标的默认值

如果省略目标,xcopy 命令会将文件复制到当前目录。

指定目标是文件还是目录

如果目标不包含现有目录且不以反斜杠 (\) 结尾,则会显示以下消息:

Does specify a file name or directory name on the target(F = file, D = directory)?

如果你想要将一个或多个文件复制到某个文件,请按 F。 如果你想要将一个或多个文件复制到某个目录,请按 D。

可以使用 /i 命令行选项禁止此消息,这样,如果源是多个文件或目录,则 xcopy 假设目标是目录。

使用 xcopy 命令设置目标文件的存档属性

xcopy 命令创建设置了存档属性的文件,无论该属性是否已在源文件中设置。 有关文件属性和 attrib 的详细信息,请参阅相关链接。

比较 xcopy 和 diskcopy

如果磁盘在子目录中包含文件,而你想要将此磁盘复制到使用不同格式的磁盘,请使用 xcopy 命令而不是 diskcopy。 由于 diskcopy 命令逐磁道复制磁盘,因此源磁盘和目标磁盘必须使用相同的格式。 xcopy 命令没有这种要求。 除非需要复制完整磁盘映像,否则请使用 xcopy。

内存不足错误

如果运行 xcopy 复制文件名路径大于 255 个字符的文件或文件夹,则可能会出现“内存不足”错误。

xcopy 的退出代码

若要处理 xcopy 返回的退出代码,请在批处理程序的 if 命令行中使用 ErrorLevel 参数。 有关使用 if 处理退出代码的批处理程序示例,请参阅相关链接。 下表列出了每个退出代码和描述。

退出代码 说明 0 文件已复制且未出错。 1 找不到要复制的文件。 2 用户已按下 CTRL+C 终止了 xcopy。 4 发生了初始化错误。 内存或磁盘空间不足,或者你在命令行中输入了无效的驱动器名称或无效语法。 5 发生了磁盘写入错误。 示例

1. 若要将驱动器 A 中的所有文件和子目录(包括所有空子目录)复制到驱动器 B,请键入:

xcopy a: b: /s /e

2. 若要在以上示例中包括所有系统文件或隐藏文件,请添加 /h 命令行选项,如下所示:

xcopy a: b: /s /e /h

3. 若要使用 \Rawdata 目录中自 1993 年 12 月 29 日以来更改的文件更新 \Reports 目录中的文件,请键入:

xcopy \rawdata \reports /d:12-29-1993

4. 若要更新以上示例中 \Reports 中的所有文件(不考虑日期),请键入:

xcopy \rawdata \reports /u

5. 若要获取以上命令复制的文件的列表(即,不实际复制文件),请键入:

xcopy \rawdata \reports /d:12-29-1993 /l > xcopy.out

文件 xcopy.out 列出了要复制的每个文件。

6. 若要将 \Customer 目录及其所有子目录复制到网络驱动器 H: 上的目录 \\Public\Address,保留只读属性,并在 H: 上创建新文件时得到提示,请键入:

xcopy \customer h:\public\address /s /e /k /p

7. 若要发出以上命令,确保 xcopy 创建 \Address 目录(如果不存在),并在创建新目录时禁止显示消息,请如下所示添加 /i 命令行选项:

xcopy \customer h:\public\address /s /e /k /p /i

8. 可以创建一个批处理程序来执行 xcopy 操作,并在发生错误时使用批处理 if 命令处理退出代码。 例如,以下批处理程序对 xcopy 源参数和目标参数使用可替换参数:

@echo off rem COPYIT.BAT transfers all files in all subdirectories of rem the source drive or directory (%1) to the destination rem drive or directory (%2) xcopy %1 %2 /s /e if errorlevel 4 goto lowmemory if errorlevel 2 goto abort if errorlevel 0 goto exit :lowmemory echo Insufficient memory to copy files or echo invalid drive or command-line syntax. goto exit :abort echo You pressed CTRL+C to end the copy operation. goto exit :exit

若要使用上述批处理程序将 C:\Prgmcode 目录及其子目录中的所有文件复制到驱动器 B,请键入:

copyit c:\prgmcode b:

命令解释器将 %1 替换为 C:\Prgmcode,将 %2 替换为 B:,然后将 xcopy 与 /e 和 /s 命令行选项结合使用。 如果 xcopy 遇到错误,该批处理程序会读取退出代码并转到相应 IF ERRORLEVEL 语句中指示的标签,然后显示相应的消息并从批处理程序退出。

9. 此示例复制所有非空目录,以及在星号后带有关联文件扩展名的文件。

xcopy .\toc*.yml ..\..\Copy-To\ /S /Y rem Output example. rem .\d1\toc.yml rem .\d1\d12\toc.yml rem .\d2\toc.yml rem 3 File(s) copied

在以上示例中,此特定源参数值 .\toc*.yml 复制相同的 3 个文件,即使删除此参数的两个路径字符 .\。 但是,如果从源参数中删除星号通配符(使之成为 .\toc.yml),则不会复制任何文件。

相关链接 复制 移动 Dir Attrib Diskcopy If 命令行语法项


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3