批处理高手请帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/24 02:18:55
我的思路是先用FOR命令查询所需要的文件,然后用COPY命令复制到我的D盘123文件夹。尝试了许久,可惜水平有限未能实现。
@echo off
for /r "\\YaNGYAN\本地磁盘 (D)" %%i in (*.ZIP) do @echo %%i >>订单记录.txt
exit

@echo off
for /r "\\YaNGYAN\本地磁盘 (D)" %%i in (*.ZIP) do copy "\\YaNGYAN\本地磁盘 (D) %%i" D:\123\
exit
为什么用FOR命令能查询到所需文件,但是要把查到的文件COPY到指定的文件夹就说格式错误呢?请高手帮忙解答,不胜感激!
请帮我写出正确的命令,然后在难点上加点解释哦,我怕没看明白。谢谢了! 是远程COPY的 局域网共享的,直接COPY是不行的,我一开始就是那样想的,运行的时候会提示找不到网络路径的...
首先得谢谢大家,虽然问题还是没有得到解决但是大家都努力了,谢谢,三楼的朋友你答的稍微好一些,但是我按照你所说的还是不能成功的COPY,请你再修改一下吧,有条件的话最好是先实验下是否能够成功。有时候理论和实践用起来总是会出现点小问题的。

@echo off
for /r "\\YaNGYAN\本地磁盘 (D)" %%i in (*.ZIP) do xcopy "%%i" "D:\123\"
exit
%%i就够了,你前面多加了。
网络拷贝用xcopy。
我测试成功的哦。

直接copy “%%i” d:\123\

远程copy?

@echo off
if exist 订单记录.txt del /a /f /q 订单记录.txt
::删除之前的记录文件。

for /r "\\YaNGYAN\本地磁盘 (D)" %%i in (*.ZIP) do echo %%i >>订单记录.txt
::上面直接用的你的代码。

for /f "delims=" %%a in (订单记录.txt) do copy /y %%a D:\123\
::"delims="是防止过滤掉有空格的文件。既然你“FOR命令能查询到所需文件”,那么就直接调用里面的文件好了。"/y"标签是强制覆盖以前的文件,可以取消。