[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理怎样根据文件完整路径复制文件?

类似于http://www.bathome.net/viewthrea ... hlight=%B8%B4%D6%C6
但有些不同,这里要复制的文件,有隐藏和只读、系统文件,并且有重名文件,
我的办法是先用attrib c:\*.* -a -s -r -h 将c盘下所有文件改去“隐藏和只读、系统”属性,
下面有文本1.txt(记录的是要复制文件完整路径),内容见附件1.rar,现在,我写了个批处理如2.bat.rar,
我试了几次,发现有些文件复制不到
另外我批处理中用的是copy,如果用xxcopy,该如何写?
谢谢!
1

评分人数

    • CrLf: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 1e3e 于 2011-7-20 22:11 编辑
楼主的第一个附件中的1.txt怎么是空的?
还是用attrib /s吧,xcopy虽然兼容特殊属性的文件,但是效率实在太低了,不适合在目标路径不一致时使用
else 发表于 2011-7-20 15:26

感谢,是我的失误,已重新换上1.txt,另增加了用xcopy写的批处理,不知对否,请重新帮忙看下

TOP

3# 1e3e


不知对否?你没有自己测试一下吗?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

3# 1e3e


不知对否?你没有自己测试一下吗?
Batcher 发表于 2011-7-20 21:18

试了一下,先用attrib命令在dos(深度论坛dos)下复制不完全,丢失太约一半文件,奇怪的是
在pe下却成功复制了所有文件,不过用attrib命令简直是个折磨,耗费时间太长了。
xxcopy命令实验一下,4151个对象只复制出了4149个对象(对象经检测是存在的),经检测是这两句语句没有复制成功
echo f|        xcopy/h/y "C:\WINDOWS\system32\diskecho f|        xcopy/h/y.dll" 1040
echo f|        xcopy/h/y "C:\WINDOWS\system32\xecho f|        xcopy/h/y.exe" 1519
是因为替换时没注意,直接用echo f|        xcopy/h/y 替换copy:copy "C:\WINDOWS\system32\diskcopy.dll" 1040
copy "C:\WINDOWS\system32\xcopy.exe" 1519
所以结论xxcopy命令实际上也是成功的。

另有疑问:一是发现如果使用notepad发现有些本应在一行的文字
分成了两行,而用cnbook没这个问题。
如果分成两行,会影响复制的效果么?

TOP

5# 1e3e


打开记事本,在菜单栏里面选择“格式”,看看是不是设置了自动换行?
1

评分人数

    • CrLf: 乐于助人PB + 5
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 1e3e 于 2011-7-22 19:14 编辑
5# 1e3e


打开记事本,在菜单栏里面选择“格式”,看看是不是设置了自动换行?
Batcher 发表于 2011-7-22 00:03

确实是的,非常感谢,不过还是有疑问,如果像图片那样换行成两行,应该会导致这一行执行出错,即echo f|        xcopy/h/y "C:\WINDOWS\assembly\GAC_MSIL\System.DirectoryServices.AccountManagement\3.5.0.0__b77a5c561934e089\System.DirectoryServices.AccountManagement.dll" 3592

实际上执行的是echo f|        xcopy/h/y "C:\WINDOWS\assembly\GAC_MSIL\System.DirectoryServices.AccountManagement\3.5,
但实际执行的结果却是成功复制3592这个文件!

TOP

7# 1e3e


那只是在记事本里面的显示而已,只要没有被回车换行分隔开,执行时是没有问题的。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

7# 1e3e


那只是在记事本里面的显示而已,只要没有被回车换行分隔开,执行时是没有问题的。
Batcher 发表于 2011-7-22 20:11

谢谢,感谢解答呀

TOP

这个适合移动的时候用,要是真正移动几个,像这样移会吐血的
1

评分人数

    • CrLf: 乐于助人PB + 3

TOP

这个适合移动的时候用,要是真正移动几个,像这样移会吐血的
dennis1314 发表于 2011-7-28 12:19



    确实是的,如果文件比较多,复制是需要花费很长时间,
有时复制其实是整个文件夹,要是能追加个代码,判定某些文件实际就是同一个文件夹的所有文件,转为复制整个文件夹

TOP

返回列表