① cmd 命令 文件复制
,中文含义为“复制”,一个很容易见名知意的命令,它的作用是复制文件,用法十分简单: 源文件 目的路径。
1,命令说明
将一份或多份文件复制到另一个位置。
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,示例
COPY命令只能复制文件,不能复制文件夹。
1,单个文件的复制
例1,把123.txt复制到d:\目录下。如果此操作成功,命令行窗口中会提示“已复制1个文件”。
c:\123.txt d:\
例2,把123.txt复制到d:\目录下,并把它修改为abc.bat,这里修改了文件名和它的格式。
c:\123.txt d:\abc.bat
例3,把当前目录下的123子目录中的文件全部拷到当前目录。
.\123
2,批量复制文件
例1,将c:\123目录中所有文件复制到d:\abc目录中。
c:\123 d:\abc
例2,将c:\123目录中所有rm格式的文件复制到d:\abc目录中,当目标目录中已经存在了和源目录中即将复制的文件相
同文件名的文件时,就会出现如“改写x:\xx吗?(Yes/No/All):”这样的提示,让你选择是覆盖、不覆盖还是全部覆
盖,通过参数/y(复制单个文件或批量复制时皆可使用),可以实现重名文件无须确认直接覆盖。
c:\123*.rm d:\abc /y
3,合并文件
例1,把1.mp3和2.mp3合并成3.mp3。
/b d:\1.mp3 d:\2.mp3 e:\3.mp3
例2,把1.txt和2.mp3合并,这里没有指定合成后的文件名哦,缺省情况下,合并后的文件名是命令中的第一个文件的
名。在这里,即把2.mp3合并进了1.txt。
/b d:\1.txt d:\2.mp3
假设,你需要把d:\test\test.txt这个文件复制到D盘根目录下,那么,使用 d:\test\test.txt d:\ 就可以轻易办到。
当然,这是最简单的情形,在实际使用中,还是会碰到十分复杂的情况的。
如果D盘根目录下已经存在了一个名为test.txt的文件,那么,复制过去的时候,命令就会提示你是覆盖原文件、是放弃复制还是覆盖所有文件。如果你在批量复制的时候,一概覆盖原文件,那么,一个一个地选择十分麻烦,这个时候,你可以使用不加提示就覆盖原文件的参数 /y (相当于自动选择了Yes选项),完整的命令为 /y d:\test\test.txt d:\ 。
如果复制的时候,你还需要把源文件改个名,比如把test.txt改为1.txt的时候,可以直接使用: d:\test\test.txt d:\1.txt 这样的命令,也就是说,在指定目的路径的时候,直接指定文件名,那么,新的文件名就是源文件复制之后的名字。
如果要复制的路径带有空格、&等特殊符号的时候,请使用引号把这些特殊字符括起来,比如: "d:\test abc\test.txt" "d:\t&est"
命令除了“复制”文件的功能外,还有一个绝活:合并多个文件为一个文件,具体的格式为: 文件1+文件2+文件3+…… 目的路径\新文件名 。例如: d:\test.txt+d:\abc.txt d:\test\test.txt,那么,就把D盘根目录下的test.txt和abc.txt两个文件的内容合并为test.txt,并保存到d:\test目录下。
还有一些参数,但是常用的就上面的用法,更多的用法请在命令行窗口中使用 /? 来查询,很容易上手的。
必须注意的是,只能复制文件,对于文件夹的复制,则需要另请高明,动用x来复制。x是的高级版本,有更丰富的参数,能实现更加复杂的功能,通吃文件和文件夹的复制,以后将另行介绍,在这里就不展开讲解了。
② 帮写一段BAT批处理复制文件的命令
以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
@echo off
rem 将一个指定文件复制到一个指定目录下以当前日期时间命名的文件夹里
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
for /f "tokens=2 delims==." %%a in ('wmic OS get LocalDateTime /value^|find "="') do set "now=%%a"
set "file=d:\123.mdb"
set "newfolder=z:\%now%"
if not exist "%file%" (echo;"%file%" not found&pause&exit)
if not exist "%newfolder%\" md "%newfolder%\"
/y "%file%" "%newfolder%\"
echo;%#% +%$%%$%/%@% %z%
pause
exit
③ 批处理COPY命令的用法
1:文件名或路径中有空格时需要用双引号括起来。
2:文件需要强制覆盖不提示的话加上 /y 参数就可以。
3:C:\Documents and Settings\Administrator\Application Data 这个路径是系统变量"appdata",可以简写成%appdata%。
所以你只需要这样写就可以了:
/y e:\Phrases.ini "%appdata%\SogouPY\"
④ 急!高分求解!用批处理命令文件时,发现凡中文目录下的文件都无法复制,怎么办
看到你的问题时已经时隔十多年了,哈哈。解答一下给需要的朋友看吧。
批处理文件中包含中文字无法执行。可以打开编辑批处理文件,另存为,在编码下拉菜单中选择“ANSI”保存替换原文件即可!原文件可能是用了如“UTF-8”之类编码保存的,导致出现这个问题。