windows cmd下使用copy 命令,利用通配符 * 进行匹配后复制后的文件只有1k?xcopy直接跳过询问目录还是文件名该怎么实现?

本文探讨了在Windows命令行(cmd)环境下,使用copy命令通配符*复制文件时出现的文件大小异常问题。通过案例展示了如何使用xcopy命令,并解决了xcopy在批量复制时询问文件名或目录名的问题。通过在xcopy前添加echo f|或echo d|,可以避免手动确认,实现脚本自动化复制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

copy命令的作用是将一个或多个已存在的文件复制到其他位置

XCOPY复制指定的目录和目录下的所有文件连同目录结构。

copy命令是可以通过通配符进行文件复制的,如下图我有两个以7z开头的文件,一个是txt文件,一个 exe文件。然后我直接使用了命令

copy 7z*.exe test.exe

意思就是说把以7z开头的exe文件复制到当前文件夹下,并且复制后的文件更名为test.exe。这种方法是可以复制成功的,只是不知道为什么,复制过后的文件大小只有2KB了,很明显的可以看出文件大小是不对的。如下红色框线将其框出来了的。

然后就查了一下除了copy命令以外,还有一个复制命令xcopy。

xcopy 7z*.exe te.exe

效果如上,只不过在我执行命令的时候会提示我一下te.exe是文件名还是目录名。这个时候我们按照提示选择文件就可以了,复制以后可以看到它的文件大小是和源文件一样的,下图蓝色框线框出来的部分。

(虽然实现了功能,但是原因是为什么我不太清楚,如果有清楚的大哥们可以给我解释一下下)

但是如果想要它写入脚本中,想要使用xcopy直接跳过询问目录还是文件名。在网上找了一下方法,可以通过如下命令实现,就是xcopy命令前加一个echo f| (注意有个竖线):

echo f|xcopy 7z*.exe 1.exe

如果是目录名,同理在xcopy前面加一个echo d| 就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值