DOS 的 FOR 命令

eisman 2010-02-09 07:54:32
各位dos高手,请教一个问题:

我有一个文本文件(假设叫 A.txt,存在C:\下),里面存了需要拷贝的文件及目录信息,内容如下(其中加#的是注释):

boo/file_01.txt
#注释。。。
#注释。。。
boo/file_02.txt
boo/file_03.txt
...

其中boo目录在C:\下。
我想写一个批处理文件,拷贝上面的 A.txt 文件中列出的文件到其他目录。
照猫画虎搞了下面这个,但是不成功。谁能告诉我错在哪里?应该如何改?

FOR /F "eol=# " %a IN (A.txt) DO copy C:\%a D:\boo
pause
...全文
65 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wgx5188 2010-02-10
  • 打赏
  • 举报
回复
引用 3 楼 dianyancao 的回复:
@echo off
c:
cd\
FOR /F "eol=# delims=" %%i in (a.txt) do (xcopy c:\%%i d:\boo /s /H &IF ERRORLEVEL==1 echo 要复制的文件或目录不存在!&pause)
恩这个不错~!
dianyancao 2010-02-10
  • 打赏
  • 举报
回复
@echo off
c:
cd\
FOR /F "eol=# delims=" %%i in (a.txt) do (xcopy c:\%%i d:\boo /s /H &IF ERRORLEVEL==1 echo 要复制的文件或目录不存在!&pause)
dianyancao 2010-02-10
  • 打赏
  • 举报
回复
首先本地的路径要用 \ 而不是 /,路径错了,自然不能成功复制。。。
for /f 处理文本时,最好定义砍伐枝桠。当然也可以为空,要不有时候会出错,或者得不到想要的内容。。。。
要复制目录树用XCOPY


@echo off
c:
cd\
FOR /F "eol=# delims=" %%i in (a.txt) do (xcopy c:\%%i d:\boo /s /H &IF ERRORLEVEL==1 echo 要复制的文件或目录不存在!&pause)
s11ss 2010-02-09
  • 打赏
  • 举报
回复
批处理中的要双写 %
% → %%

6,871

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧