标题: [文本处理] 批处理删除代码和复制代码不相融? [打印本页]
作者: Heykuz 时间: 2013-8-12 09:33 标题: 批处理删除代码和复制代码不相融?
单独执行这段代码,正常执行。- COPY /y "腾讯游戏" "C:\Documents and Settings\All Users\「开始」菜单\程序"
- COPY /y "腾讯软件" "C:\Documents and Settings\All Users\「开始」菜单\程序"
-
- attrib +r +h "C:\Documents and Settings\All Users\「开始」菜单\程序\腾讯游戏"
- attrib +r +h "C:\Documents and Settings\All Users\「开始」菜单\程序\腾讯软件"
复制代码
如果在上面的代码前面加上一段删除文件夹(相同名称)的,就不行,加入延时代码时,提示找不到文件。- cd /d "C:\Documents and Settings\All Users\「开始」菜单\程序"
- rd /s /q "腾讯游戏"
- rd /s /q "腾讯软件"
- rd /s /q "winrar"
-
- COPY /y "腾讯游戏" "C:\Documents and Settings\All Users\「开始」菜单\程序"
- COPY /y "腾讯软件" "C:\Documents and Settings\All Users\「开始」菜单\程序"
-
- attrib +r +h "C:\Documents and Settings\All Users\「开始」菜单\程序\腾讯游戏"
- attrib +r +h "C:\Documents and Settings\All Users\「开始」菜单\程序\腾讯软件"
复制代码
求大神们解释一下原因及解决方法。
作者: Batcher 时间: 2013-8-12 10:10
- cd /d "C:\Documents and Settings\All Users\「开始」菜单\程序"
- rd /s /q "腾讯游戏"
- rd /s /q "腾讯软件"
- rd /s /q "winrar"
-
- rem 这个地方需要首先 cd /d 到存放游戏和软件的目录下面然后再开始复制
- cd /d "D:\bbs.bathome.net"
-
- COPY /y "腾讯游戏" "C:\Documents and Settings\All Users\「开始」菜单\程序"
- COPY /y "腾讯软件" "C:\Documents and Settings\All Users\「开始」菜单\程序"
-
- attrib +r +h "C:\Documents and Settings\All Users\「开始」菜单\程序\腾讯游戏"
- attrib +r +h "C:\Documents and Settings\All Users\「开始」菜单\程序\腾讯软件"
复制代码
作者: yu2n 时间: 2013-8-12 10:49
可以先pushd 到目录位置操作,完成后再执行popd切换回来。- rem --- 使用 pushd 代替 cd /d
- rem --- cd /d "C:\Documents and Settings\All Users\「开始」菜单\程序"
- pushd "C:\Documents and Settings\All Users\「开始」菜单\程序"
-
- rd /s /q "腾讯游戏"
- rd /s /q "腾讯软件"
- rd /s /q "winrar"
-
- rem --- 使用 popd 切换到上次目录
- popd
-
-
- COPY /y "腾讯游戏" "C:\Documents and Settings\All Users\「开始」菜单\程序"
- COPY /y "腾讯软件" "C:\Documents and Settings\All Users\「开始」菜单\程序"
-
- attrib +r +h "C:\Documents and Settings\All Users\「开始」菜单\程序\腾讯游戏"
- attrib +r +h "C:\Documents and Settings\All Users\「开始」菜单\程序\腾讯软件"
复制代码
作者: yu2n 时间: 2013-8-12 10:50
可以先pushd 到目录位置操作,完成后再执行popd切换回来。
yu2n 发表于 2013-8-12 10:49
更保险的做法是直接用绝对路径操作。
作者: Heykuz 时间: 2013-8-12 13:41
Batcher 发表于 2013-8-12 10:10
明白了,原来是要回到原目录一次。谢谢按理员同志
作者: Heykuz 时间: 2013-8-12 13:43
可以先pushd 到目录位置操作,完成后再执行popd切换回来。
yu2n 发表于 2013-8-12 10:49
谢谢士官同学。测试了,可行。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |