copy 将一个或多个文件从一个位置复制到其他位置

时间:2021-05-22

复制
将一个或多个文件从一个位置复制到其他位置。

语法
copy[/d][/v][/n][{/y|/-y}][/z][{/a|/b}]Source[{/a|/b}][+Source[{/a|/b}][+...]][Destination[{/a|/b}]]

参数
/d
允许将复制的加密文件在目标处作为解密文件保存。
/v
验证是否正确写入新文件。
/n
在复制名字超过八个字符,或者文件扩展名超过三个字符的文件时使用短文件名(如果有的话)。
/y
禁止提示您确认要覆盖现存的目标文件。
/-y
提示您确认要覆盖现存的目标文件。
/z
在重启模式中复制网络文件。
/a
表明ASCII文本文件。
/b
表明二进制文件。
Source
必需指定要复制的文件或文件集的所在位置。source可以由驱动器号和冒号、文件夹名、文件名或这几者的组合所组成。
Destination
必需指定要将文件或文件集复制到的位置。Destination可以由驱动器号和冒号、文件夹名、文件名及这几者的组合所组成。
/?
在命令提示符显示帮助。
注释
可以复制那些使用文件结束字符(CTRL+Z)以表明文件结束的ASCII文本文件。
使用/a
当在命令行的文件列表之前有/a时,它适用于所有已列出的文件,直到copy遇到/b。在这种情况下,/b应用于文件前面的/b。

当/a在命令行上紧跟在文件列表之后时,它适用于所有已列出的文件,直到copy遇到/b。在这种情况下,/b应用于文件前面的/b。

/a参数的作用取决于它在命令行字符串中的位置。当/a紧随Source之后时,copy会将文件当作ASCII(文本)文件,并复制第一个文件结束符前的数据。

当/a紧随Destination之后时,copy会添加文件结束符作为文件的最后一个字符。

使用/b
/b指定命令解释器读取目录中由文件大小指定的字节数。/b是copy的默认值,除非copy用于合并文件。

当/b在命令行上位于文件列表之前时,它适用于所有已列出的文件,直到copy遇到/a。在这种情况下,/a应用于文件前面的/a。

当/b在命令行上位于文件列表之后时,它适用于所有已列出的文件,直到copy遇到/a。在这种情况下,/a应用于文件前面的/a。

/b的作用取决于它在命令行字符串中的位置。当/b紧随Source之后时,copy复制包含任何文件结束符的整个文件。

当/b紧随Destination之后时,copy不会添加文件结束符。

使用/v
如果写入操作不能校验,则会出现错误消息。尽管使用copy很少发生记录错误,但是仍可以使用/v来确保重要的数据已正确记录。因为要检查驱动器上记录的每一个扇区,所以该/v命令行选项也会使copy命令的运行速度减慢。

使用/y和/-y
如果在COPYCMD环境变量中预先设置了/y,可以通过在命令行使用/-y来替换该设置。默认情况下,在替换该设置时会提示您,除非该copy命令在批处理脚本中执行。

附属文件
要附加文件,请为Destination指定单个文件,但要为Source指定多个文件(使用通配符或文件1+文件2+文件3的格式)。

使用/z
如果在复制阶段连接丢失(例如,如果服务器脱机切断了连接),copy/z将在重新建立连接后继续复制。/z同时会显示每个文件已完成的复制操作的百分比。

复制到设备以及从设备复制
可以用设备名替换一次或多次出现的source或destination。

在复制到设备时使用或省略/b
当destination是设备时(例如,Com1或Lpt1),/b将以二进制模式将数据复制到该设备。在二进制模式下,copy/b会将所有字符(包括特殊字符,例如,CTRL+C、CTRL+S、CTRL+Z以及换行符等)作为数据复制到设备。但是,如果省略了/b,则将以ASCII模式将数据复制到设备。在ASCII模式下,特殊字符可能导致WindowsXP在复制过程中合并文件。有关详细信息,请参阅“合并文件”。

使用默认目标文件
如果不指定目标文件,将使用与源文件相同的名称、创建日期、创建时间来创建副本,并将新副本置于当前驱动器的当前目录中。如果源文件位于当前驱动器的当前目录中,而您没有为目标文件指定其他驱动器或目录,则copy命令将终止并显示下列错误消息:

Filecannotbecopiedontoitself

0File(s)copied

合并文件
如果指定了使用加号(+)分隔的多个source,copy会将这些文件合并在单个文件之中。如果在source中使用了通配符(*或?),但在destination中指定了单个文件名,则copy会将所有与source中的文件名匹配的文件合并,并使用在destination中指定的文件名来创建单个文件。除非使用了/b命令行选项,否则在任一种情形中,copy都会假定合并的文件是ASCII文件。

复制零长度文件
Copy不会复制0字节长度的文件。使用xcopy复制这些文件。

更改文件的时间和日期
如果要将当前的时间和日期指派给文件而不修改文件,请使用以下语法:

copy/bSource+,,

逗号表明省略了Destination参数。

在子目录中复制文件
要复制目录中的所有的文件和子目录,应该使用xcopy命令。有关xcopy的详细信息,请参阅“”。

故障恢复控制台提供了带有不同参数的copy命令。
范例
要将文件Memo.doc复制到当前目录中的Letter.doc,并确保在复制的文件的末尾为文件结束符,请键入:

copymemo.docletter.doc/a

要将文件Robin.typ从当前驱动器的当前目录复制到位于驱动器C上的现有目录Birds中,请键入:

copyrobin.typc:\birds

如果Birds目录不存在,Robin.typ文件将被复制到驱动器C的磁盘根目录下名为Birds的文件中。

要将几个文件复制进一个文件,则需列出几个Source文件,并且文件名之间用加号(+)隔开,同时指定要包含合并结果文件的Destination文件。例如,要将位于当前驱动器的当前目录中的Mar89.rpt、Apr89.rpt以及May89.rpt合并,并将它们放在当前驱动器的当前目录下名为Report的文件中,请键入:

copymar89.rpt+apr89.rpt+may89.rptreport

合并文件时,copy会使用当前日期和时间来标记目标文件。如果省略Destination,则文件被合并并且会使用首个指定的文件的名称存储。例如,要将所有的四个文件合并进Report,而且已有名为Report的文件,请键入:

copyreport+mar89.rpt+apr89.rpt+may89.rpt

还可通过使用通配符(*或?)来将几个文件合并进一个文件。例如,在当前驱动器的当前目录中,要将所有具有.exe扩展名的文件合并进名为Combin.doc的文件中,请键入:

copy*.txtcombin.doc

如果要使用通配符将几个二进制文件合并进一个文件,请添加/b命令行选项。这可防止WindowsXP将CTRL+Z当作文件结束符处理。例如,键入:

copy/b*.execombin.exe

警告

如果合并二进制文件,结果文件可能因为内部格式而无法使用。
在下例中,copy命令将每个带有.txt扩展名的文件和它对应的.ref文件合并起来。结果是文件名相同但扩展名为.doc的文件。copy将File1.txt与File1.ref合并形成File1.doc,然后copy将File2.txt与File2.ref合并形成File2.doc,如此等等。例如,键入:

copy*.txt+*.ref*.doc

要合并所有具有.txt扩展名的文件,然后合并所有具有.ref扩展名的文件,并将合并结果置于Combin.doc文件中,请键入:

copy*.txt+*.refcombin.doc

XOX

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章