|
本帖最后由 yjqd 于 2018-4-13 23:02 编辑
在制作pe时,经常需要把文件拷贝到相应的目录中,手工或copy命令都太麻烦,用xcopy就容易多了,发贴以作备忘
目录:
一、xcopy在拷贝时具有建立文件夹的功能,和md类似
二、拷贝时提示 是文件名还是目录名
三、xcopy命令通配符的运用
四、xcopy参数的运用
五、应用举例
---------------------------------------------------------------------------------------------------------------------------
一、xcopy在拷贝时具有建立文件夹的功能,和md类似
md在D:\练习\BB中建立文件夹目录A\B\C
在BB文件夹中打开命令提示符,输入命令:
md A\B\C
也可以写全路径:
md D:\练习\BB\A\B\C
结果和前面一样,只会建立A\B\C文件夹目录
xcopy在拷贝时具有建立文件夹的功能,和md类似
不同点:
md建立文件夹时单双斜线都可以
md cc\kk\
md cc\kk\\
xcopy在拷贝时命令中的目标路径最后只能加单斜线,不能加双斜线
比如,目标实际路径D:\练习下没有CC文件夹
xcopy E:\AA\* D:\练习\CC\\
执行结果如下:
"文件创建错误 - 当文件已存在时,无法创建该文件。
无法创建目录 - D:\练习\CC\
复制了 0 个文件"
实际结果为创建了文件夹CC但没拷贝文件
目标实际路径D:\练习下没有CC文件夹时,情况和前面一样
---------------------------------------------------------------------------------------------------------------------------
二、拷贝时提示 是文件名还是目录名
xcopy E:\AA\AA.txt D:\练习\AA.txt
目标 D:\练习\AA.txt 是文件名
还是目录名
(F = 文件,D = 目录)?
xcopy E:\AA\AA.txt D:\练习\CC
目标 D:\练习\CC 是文件名
还是目录名
(F = 文件,D = 目录)?
上面示例中,目标是文件或是文件夹都出现了:目标 xxx 是文件名还是目录名的提示
原因:
目标实际路径中没有与命令中目标对应的文件AA.txt或文件夹CC
解决办法:
目标是文件时,按F键
执行结果,拷贝了AA.txt到D:\练习中
注意:
如果命令中目标文件名是通配符*或.,且实际目标路径和命令中目标路径相同时,则不会出现是文件名还是目录名的提示
xcopy E:\AA\AA.txt D:\练习\*
xcopy E:\AA\AA.txt D:\练习\.
如果实际目标路径和命令中目标路径不相同时,且命令中目标文件名是通配符.,会出现是文件名还是目录名的提示
实际目标路径为 D:\练习
命令中目标路径D:\练习\CC
xcopy E:\AA\AA.txt D:\练习\CC\.
目标 D:\练习\CC\. 是文件名
还是目录名
(F = 文件,D = 目录)?
目标是文件夹时,按D键
执行结果,创建了CC文件夹,并拷贝了AA.txt到CC文件夹
或者
在写命令时在CC后添加斜线,xcopy E:\AA\AA.txt D:\练习\CC\,就不会出现是文件名还是目录名的提示
xcopy会认为它是一个目录,因为如果CC是文件,那么后面不会再有下级目录,也就不能有斜线
或者
源文件名写成通配符*或.并且加参数 /i
xcopy /i E:\AA\* D:\练习\CC
---------------------------------------------------------------------------------------------------------------------------
三、xcopy命令通配符的运用
拷贝文件时:
源文件和目标文件名都为通配符*
xcopy E:\AA\* D:\练习\*
执行结果,拷贝所有的文件(不包括子目录及里面的文件),最好不用通配符.,原因参见二中关于通配符的内容
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
源文件用通配符*,目标文件为空
xcopy E:\AA\* D:\练习或xcopy E:\AA\* D:\练习\
执行结果,拷贝所有的文件(不包括子目录及里面的文件)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
拷贝文件夹时:
源是文件夹,目标是通配符*或.
xcopy E:\AA D:\练习\*或xcopy E:\AA D:\练习\.
执行结果,拷贝所有的文件(不包括子目录及里面的文件)
注意:
不能写成下面的命令,否则提示出错
xcopy E:\AA\ D:\练习\CC\
"无效路径
复制了 0 个文件"
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
---------------------------------------------------------------------------------------------------------------------------
四、xcopy参数的运用
参数 /i
源文件名写成通配符*或.并且加参数 /i
xcopy /i E:\AA\* D:\练习\CC
不会出现是文件名还是目录名提示,参见二中关于/i的内容
参数 /e
xcopy /e E:\AA\* D:\练习\CC\
xcopy /e E:\AA D:\练习\CC\
xcopy /e E:\AA\* D:\练习\AA\
xcopy /e E:\AA D:\练习\AA\
xcopy /e /i E:\AA D:\练习\AA
执行结果,拷贝所有的文件,包括子文件夹及里面的文件,也就是带目录结构拷贝
---------------------------------------------------------------------------------------------------------------------------
五、应用举例
1、把E:中的AA文件夹拷贝到D:\练习中,要求:D:\练习中出现AA文件夹,并且里面的内容包括目录结构都和E:中的AA文件夹一样
xcopy /e E:\AA D:\练习\AA\
xcopy /e /i E:\AA D:\练习\AA
2、有一份带有目录结构的文件名称列表,根据列表从C盘带目录结构拷贝文件到目标路径D:\练习\AA中
pe中的文件列表.txt,内容如下:
Windows\System32\config\SOFTWARE
Windows\System32\config\DEFAULT
for /f "delims=" %%a in ('type 文件夹列表.txt') do (echo f|xcopy /y /i /c /h /r c:\%%a D:\练习\AA\%%a)
发现没有,没有用参数 /e,也能带目录结构拷贝文件到目标路径,正是用了第一项中的原理,xcopy在拷贝时具有建立文件夹的功能
--------------------------------------------------------------------------------------------------------------------------- |
评分
-
查看全部评分
|