cmd命令的“copy”有哪些参数?

cmd命令的“copy”有哪些参数?,第1张

将一份或多份文件复制到另一个位置。\x0d\x0a\x0d\x0aCOPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]\x0d\x0a [+ source [/A | /B] [+ ...]] [destination [/A | /B]]\x0d\x0a\x0d\x0a source 指定要复制的文件。\x0d\x0a /A 表示一个 ASCII 文本文件。\x0d\x0a /B 表示一个二进位文件。\x0d\x0a /D 允许解密要创橡拿建的目标文件\x0d\x0a destination 为新文件指定目录和/或文件名。\x0d\x0a /V 验证新文件写入是否正确。\x0d\x0a /N 复制带有非 8dot3 名称的文件时,\x0d\x0a 尽可能使用短文件名。\x0d\x0a /Y 不使用确认是否早碧要改写现有目标文件\x0d\x0a 的提示。\x0d\x0a /-Y 使用确认是否要改写现有目标文件\x0d\x0a 的提示。\x0d\x0a /Z 用可重新启动模式复制已联网的文件。\x0d\x0a\x0d\x0a命令行开关 /Y 可以在 COPYCMD 环境变量中预先设定。\x0d\x0a这可能会被命令行上的 /-Y 替代。除非 COPY\x0d\x0a命令是在一个批文件脚本中执行的,默认值应为\x0d\x0a在改写时进行提示。\x0d\x0a\x0d\x0a要附加文件,梁睁搭请为目标指定一个文件,为源指定\x0d\x0a数个文件(用通配符或 file1+file2+file3 格式)。

假设,你需要把d:\test\test.txt这个文件复制到D盘根目录下,那么,使用 copy d:\test\test.txt d:\ 就可以轻易办到。

当然答闷,这是最简单的情形,在实际使用中,还是会碰到十分复杂的情况的。

如果D盘根目录下已经存在了一个名为test.txt的文件,那么,复制过去的时候,copy命令就会提示你是覆盖原文件、是放弃复制清让弯还是覆盖所有文件。如果你在批量复制的时候,一概覆盖原文件,那么滑亮,一个一个地选择十分麻烦,这个时候,你可以使用不加提示就覆盖原文件的参数 /y (相当于自动选择了Yes选项),完整的命令为 copy /y d:\test\test.txt d:\ 。

如果复制的时候,你还需要把源文件改个名,比如把test.txt改为1.txt的时候,可以直接使用:copy d:\test\test.txt d:\1.txt 这样的命令,也就是说,在指定目的路径的时候,直接指定文件名,那么,新的文件名就是源文件复制之后的名字。

如果要复制的路径带有空格、&等特殊符号的时候,请使用引号把这些特殊字符括起来,比如: copy "d:\test abc\test.txt" "d:\t&est"

copy命令除了“复制”文件的功能外,还有一个绝活:合并多个文件为一个文件,具体的格式为:copy 文件1+文件2+文件3+…… 目的路径\新文件名 。例如:copy d:\test.txt+d:\abc.txt d:\test\test.txt,那么,就把D盘根目录下的test.txt和abc.txt两个文件的内容合并为test.txt,并保存到d:\test目录下。

copy 还有一些参数,但是常用的就上面的用法,更多的用法请在命令行窗口中使用 copy /? 来查询,很容易上手的。

必须注意的是,copy只能复制文件,对于文件夹的复制,则需要另请高明,动用xcopy来复制。xcopy是copy的高级版本,有更丰富的参数,能实现更加复杂的功能,通吃文件和文件夹的复制,以后将另行介绍,在这里就不展开讲解了。

http://www.baiduhl.com/z/2016/02/17/900.html

1、cp的常见应用场景及命令格式慎渗简

cp命令是Linux最常用命令之一,可以实现单个文件/文件夹复制,多个文件/文件夹复制,创建软硬链接喊友等。

一、复制一个源文件到目标文件(夹)。

命令格式为:cp 源文件 目标文件(夹)

这个是使用频率最多的命令,负责把一个源文件复制到目标文件(夹)下。如下图所示,复制到文件夹下,则文件名保持不变,复制到文件中,则文件名变更。如果目标文件已经存在或目标文件宽裤夹中含有同名文件,则复制之后目标文件或目标文件夹中的同名文件会被覆盖。

cp命令复制一个文件

二、同时复制多个文件到目标文件(夹)下。

命令格式为:cp 源文件1 源文件2 目标文件夹 或 cp 文件* 目标文件夹

这个命令使用频率也很高。第一种命令格式可以把列出来的多个文件一次性复制到目标文件夹下,每个文件直接用空格分隔;第二种命令格式使用了通配符*,如下图所示,可以将所有以“.txt”结尾的文件都复制到文件夹testDir下。

cp命令复制多个文件

cp命令复制多个文件

三、复制源文件夹到目标文件夹下。

命令格式为:cp -r 源文件夹 目标文件夹

这个也是使用频率很高的命令,只需要记住复制文件夹一定要加“-r”参数,否则会出现“cp: omitting directory”错误。

cp命令复制文件夹

四、只有源文件较目标文件新时复制。

命令格式为:cp -u 源文件 目标文件

这个命令很实用,尤其是在更新文件时。如下图所示,只有源文件比目标文件新时,才会将源文件复制给目标文件,否则,及时执行了命令,也不会执行复制。

cp命令只文件较新时复制

五、创建文件的软链接。

命令格式为:cp -s 源文件 目标文件

也可以用ln命令实现同样的功能。当一个文件路径太深(如下述的a/b/c/d/e/orginalFile.txt),访问起来十分不方便时,就会创建这个文件的软链接,使之访问起来更方便些。软链接就相当于windows上的快捷方式。

cp命令创建软链接

六、创建文件的硬链接。

命令格式为:cp -l 源文件 目标文件

也可以用ln命令实现同样的功能。有时候,为了某种原因,需要创建一个硬链接,如下图所示。

cp命令创建硬链接

这里简单介绍下硬链接和软链接的区别。如下图所示,软连接文件(softLink.txt)和被链接文件(orginalFile.txt)所拥有的inode不相同(133827和139819),硬链接文件(hardLink.txt)和被链接的文件(orginalFile22.txt)拥有相同的inode(156981)。当被链接的文件删除时,软链接文件也无法访问了,而硬链接文件仍能正常访问。

2、cp命令强制覆盖原有文件/文件夹

如果直接使用cp,不加参数,那么一旦目标和源文件夹下有同名文件,会提示是否覆盖,需要一个一个确认,如果文件数量少还好,若是多的话,一一确认会累死的...

比如:把a目录下的文件复制到b目录

cp –r a/* b

执行上面的命令时,b存在的每个文件都会提示是否覆盖:

该 *** 作当时不停提示覆盖,要手工确认,数量太多,最后只得CTR+C取消

怎么办呢?可以加一个-f,实现cp命令强制覆盖,不再提示。

命令格式:cp –r –f a/* b/

执行上面的命令时,b存在的每个文件都不再会提示,妥啦!

3、cp命令加上-f还是提示覆盖的问题

有时加了-f了,还是会有覆盖确认提示,为啥呢?原因是有一些服务器默认安装的系统里,已经增加了别名 alias cp=’cp -i’,当你执行cp时,其实执行的是cp –i。

可以通过执行alias命令查看:

看到了吗

这种情况下,先unalias cp,具体方法三种:

第一种方法:

#vi ~/.bashrc,在alias cp=’cp -i’前加上”#”注释掉这行,:wq! 保存退出,然后重新登陆,使用cp -r -f就可以了,如下图:

第二种方法:

1) 临时取消cp的alias

先执行#unalias cp,然后执行cp –r –f a/* b/即不再出现覆盖提示了。但是下次登录还会同样情况,需要#unalias cp再次临时取消cp的alias。

以上基本就是cp命令常用场景了,而这个cp加了-f还提示覆盖的问题是很多人经常遇到的,个人推荐第二种方法,简单粗暴哦。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12236850.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存