复制
将一个或多个文件从一个位置复制到另一个位置。
注释
还可以使用恢复控制台中具有不同参数的 copy 命令。 有关恢复控制台的详细信息,请参阅 Windows 恢复环境(Windows RE)。
语法
copy [/d] [/v] [/n] [/y | /-y] [/z] [/a | /b] <source> [/a | /b] [+<source> [/a | /b] [+ ...]] [<destination> [/a | /b]]
参数
参数 | 说明 |
---|---|
/d | 允许将复制的加密文件保存为目标上的解密文件。 |
/v | 验证是否已正确写入新文件。 |
/n | 复制名称长度超过 8 个字符或文件扩展名超过 3 个字符时,请使用短文件名(如果可用)。 |
/y | 取消提示以确认要覆盖现有目标文件。 |
/-y | 提示你确认是否要覆盖现有目标文件。 |
/z | 以可重启模式复制网络文件。 |
/a | 指示 ASCII 文本文件。 |
/b | 指示二进制文件。 |
<source> |
必填。 指定要从中复制文件或文件集的位置。 源 可以包括驱动器号和冒号、目录名称、文件名或这些驱动器号的组合。 |
<destination> |
必填。 指定要将文件或文件集复制到的位置。 目标 可以包括驱动器号和冒号、目录名称、文件名或这些驱动器号的组合。 |
/? | 在命令提示符下显示帮助。 |
注解
可以复制一个 ASCII 文本文件,该文件使用文件结束字符(CTRL+Z)来指示文件的末尾。
如果 /a /a 之前或遵循命令行上的文件列表,则它适用于列出的所有文件,直到 复制 遇到 /b。 在这种情况下,/b 适用于 /b前面的文件。
/a /a 的效果取决于其在命令行字符串中的位置: - 如果 /a /a 遵循 源,复制 命令会将该文件视为 ASCII 文件,并复制第一个文件结束字符(CTRL+Z)之前的数据。 - 如果 /a /a 遵循 目标,复制 命令会将文件结束字符(CTRL+Z)添加为文件的最后一个字符。
如果 /b 指示命令解释器读取目录中文件大小指定的字节数。 /b 是 复制的默认值,除非 复制 合并文件。
如果 /b 位于命令行上的文件列表之前或之后,它将应用于所有列出的文件,直到 复制 遇到 /a。 在这种情况下,/a /a 适用于 /a前面的文件。
/b 的效果取决于其在命令行字符串中的位置: - 如果 /b 遵循 源,复制 命令将复制整个文件,包括任何文件结束字符(CTRL+Z)。 - 如果 /b 遵循 目标,则 复制 命令不会添加文件结束字符(Ctrl+Z)。
如果无法验证写入作,将显示一条错误消息。 尽管 复制 命令很少发生记录错误,但可以使用 /v 来验证是否已正确记录关键数据。 /v 命令行选项也会减慢 复制 命令,因为必须检查磁盘上记录的每个扇区。
如果在 COPYCMD 环境变量中预设了 /y,则可以 在命令行中使用 /-y 替代此设置。 默认情况下,替换此设置时,系统会提示你,除非在批处理脚本中执行 复制 命令。
若要追加文件,请为 目标指定单个文件,但 源 的多个文件(使用通配符或 file1+file2+file3 格式)。
如果连接在复制阶段丢失(例如,如果服务器脱机中断连接),则可以使用 复制 /z 在重新建立连接后恢复。 /z 选项还显示为每个文件完成的复制作的百分比。
可以将设备名称替换为 源 或 目标的一个或多个匹配项。
如果 目标 是设备(例如 Com1 或 Lpt1),则 /b 选项以二进制模式将数据复制到设备。 在二进制模式下,复制 /b 将所有字符(包括 Ctrl+C、Ctrl+S、Ctrl+Z 和 Enter)作为数据复制到设备。 但是,如果省略 /b,则数据将复制到 ASCII 模式下的设备。 在 ASCII 模式下,特殊字符可能会导致文件在复制过程中合并。
如果未指定目标文件,则会使用与原始文件相同的名称、修改日期和修改时间创建副本。 新副本存储在当前驱动器上的当前目录中。 如果源文件位于当前驱动器和当前目录中,并且未为目标文件指定其他驱动器或目录,则 复制 命令将停止并显示以下错误消息:
File cannot be copied onto itself 0 File(s) copied
如果在 源中指定多个文件,则 复制 命令使用 目标中指定的文件名将它们全部合并到单个文件中。 复制 命令假定组合文件是 ASCII 文件,除非使用 /b 选项。
若要复制长度为 0 字节的文件或复制所有目录的文件和子目录,请使用 xcopy 命令。
若要在不修改文件的情况下将当前时间和日期分配给文件,请使用以下语法:
copy /b <source> +,,
其中逗号指示 目标 参数被有意排除。
例子
若要将名为“memo.doc”的文件复制到当前驱动器中的 letter.doc,并确保复制的文件末尾有一个文件结束字符(CTRL+Z),请键入:
copy memo.doc letter.doc /a
若要将名为 robin.typ 的文件从当前驱动器和目录复制到位于驱动器 C 上的 Birds 的现有目录,请键入:
copy robin.typ c:\birds
注释
如果 鸟 目录不存在,robin.typ 文件将复制到位于驱动器 C 中磁盘根目录中的 鸟 文件中。
若要合并 Mar89.rpt、Apr89.rpt和位于当前目录中的 May89.rpt,并将其放置在名为 报表(也位于当前目录中)的文件中,请键入:
copy mar89.rpt + apr89.rpt + may89.rpt Report
注释
如果合并文件,复制 命令会将目标文件标记为当前日期和时间。 如果省略 目标,这些文件将组合在列表中第一个文件的名称下并存储。
若要合并 报表中的所有文件,当名为 报表 的文件已存在时,请键入:
copy report + mar89.rpt + apr89.rpt + may89.rpt
若要将具有 .txt 文件扩展名的当前目录中的所有文件合并到名为 Combined.doc的单个文件中,请键入:
copy *.txt Combined.doc
若要使用通配符将多个二进制文件合并为一个文件,请包括 /b。 这可以防止 Windows 将 Ctrl+Z 视为文件末尾字符。 例如,键入:
copy /b *.exe Combined.exe
谨慎
如果合并二进制文件,则由于内部格式设置,生成的文件可能不可用。
- 将具有 .txt 扩展名的每个文件与其相应的 .ref 文件组合在一起会创建具有相同文件名但扩展名为.doc的文件。 Copy 命令将 file1.txt 与 file1.ref 组合到表单 file1.doc,然后命令将 file2.txt 与 file2.ref 合并为表单 file2.doc等。 例如,键入:
copy *.txt + *.ref *.doc
若要将所有文件与 .txt 扩展名合并,然后将所有文件与 .ref 扩展名合并到名为 Combined.doc的一个文件中,请键入:
copy *.txt + *.ref Combined.doc