批处理脚本命令---copy

本文详细介绍了Windows批处理脚本中的copy命令,包括如何复制单个和多个文件,如何指定目标目录,如何使用通配符以及如何合并文件。此外,还提到了生成空文件的方法。

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

1、copy命令帮助文档

C:\Users\Administrator>help copy
将一份或多份文件复制到另一个位置。

COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B]
     [+ source [/A | /B] [+ ...]] [destination [/A | /B]]

  source       指定要复制的文件。
  /A           表示一个 ASCII 文本文件。
  /B           表示一个二进位文件。
  /D           允许解密要创建的目标文件
  destination  为新文件指定目录和/或文件名。
  /V           验证新文件写入是否正确。
  /N           复制带有非 8dot3 名称的文件时,尽可能使用短文件名。
  /Y           不使用确认是否要覆盖现有目标文件的提示。
  /-Y          使用确认是否要覆盖现有目标文件的提示。
  /Z           用可重新启动模式复制已联网的文件。
  /L           如果源是符号链接,请将链接复制到目标而不是源链接指向的实际文件。

命令行开关 /Y 可以在 COPYCMD 环境变量中预先设定。这可能会被命令行上的 /-Y 替代。除非 COPY
命令是在一个批处理脚本中执行的,默认值应为在覆盖时进行提示。

要附加文件,请为目标指定一个文件,为源指定数个文件(用通配符或 file1+file2+file3 格式)。

2、复制单个文件

2.1 copy可以复制文件到指定目录下

2.2 copy 可以复制文件到指定目录下,并指定文件名称

2.3 不指定目标目录,默认复制文件到copy命令所在目录

C:\Users\Administrator>echo hi > hi.txt

C:\Users\Administrator>copy hi.txt D:\
已复制         1 个文件。

C:\Users\Administrator>copy hi.txt D:\hi.bat
已复制         1 个文件。

3、复制多个文件

3.1 指定源目录 和 目标目录,会把源目录内文件全部复制到目标目录中,但不会复制源目录下子目录内的文件

C:\Users\Administrator>copy /y test test2
test\1.txt
test\3.txt
已复制         2 个文件。

3.2 指定源目录 和 目标目录,使用通配符把源目录内文件全部复制到目标目录中

下面命令只把txt文件复制到目标目录

 C:\Users\Administrator\test 的目录

2020/07/21  22:48    <DIR>          .
2020/07/21  22:48    <DIR>          ..
2020/07/21  22:16                 5 1.txt
2020/07/21  22:43                 5 3.txt
2020/07/21  22:48                10 4.bat
2020/07/21  22:17    <DIR>          test1
               3 个文件             20 字节
               3 个目录 21,532,983,296 可用字节

C:\Users\Administrator>copy /y test\*.txt test2
test\1.txt
test\3.txt
已复制         2 个文件。

4、合并文件

4.1可以指定合并后文件名称,不指定名称则为第一个合并文件名称

 copy filename1 + filename 2 ...  合并后filename

 copy filename1 + filename 2 ...     

4.2使用通配符选择源文件

::指定合成文件名称
C:\Users\Administrator\test>copy 1.txt + 2.txt merge12.txt
1.txt
2.txt
已复制         1 个文件。

::不指定合成文件名称
C:\Users\Administrator\test>copy 1.txt + 2.txt
1.txt
2.txt
已复制         1 个文件。

C:\Users\Administrator\test>type 1.txt
1
2

::使用通配符
C:\Users\Administrator\test>copy *.txt mer.txt
1.txt
2.txt
3.txt
m12.txt
merge12.txt


::注意使用通配符时需要指定合成文件名称
C:\Users\Administrator\test>copy *.txt
1.txt
文件无法自身复制。
已复制         0 个文件。

5、copy nul filename 生成空文件

C:\Users\Administrator\test>copy nul empty.txt
已复制         1 个文件。

C:\Users\Administrator\test>dir
 驱动器 C 中的卷没有标签。
 卷的序列号是 30F5-9067

 C:\Users\Administrator\test 的目录

2020/07/21  23:09    <DIR>          .
2020/07/21  23:09    <DIR>          ..
2020/07/21  23:03                 9 1.txt
2020/07/21  23:00                 4 2.txt
2020/07/21  23:00                 4 3.txt
2020/07/21  23:09                 0 empty.txt
2020/07/21  23:01                 9 m12.txt
2020/07/21  23:05                33 mer.txt
2020/07/21  23:03                 9 merge12.txt
2020/07/21  22:17    <DIR>          test1
               7 个文件             68 字节
               3 个目录 21,531,852,800 可用字节

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值