Board logo

标题: [文本处理] 【已解决】怎样按照列表清单复制文件,并记录不存在的文件,在线急等!!谢谢!! [打印本页]

作者: 172788876    时间: 2016-1-3 16:40     标题: 【已解决】怎样按照列表清单复制文件,并记录不存在的文件,在线急等!!谢谢!!

如图,这是一个列表清单,用批处理进行批量复制。
假如,这个清单里某个文件存在,那就复制。
假如,并不存在,那么就创建一个列表,一条条的进行记录。
请求大神做个可以自定义列表清单文件,和输出目录及错误列表文件。。。
例图:
文件列表清单:(这个列表清单里没有规律的,也不只是全在F盘下面,只是想更清楚表达这个意思,但是有很多同名的文件,)
F:\g1
F:\g2                  



比如:F 盘里有A,B,C,D个目录,目录下面有很多同名文件
批量复制时遇到一个问题,就是,我想要批量复制F:\g1, F:\g2这些文件时,它会把 A,B,C,D
也就是F盘下面所有目录里的g1,g2这些文件全部复制了
甚至是A,B,C,D目录的子目录的g1,g2这些文件全部复制了
但是我只想要F盘下面g1,g2这些文件,也就是列表里面用绝对路径指定的文件。。。
请问怎么样只复制列表清单里指定的这个文件???
看教程,查百度,查了好多了。
在线急等。。。
挺急的
谢谢大神了。。。
大谢!!!
跪谢!!!
作者: DAIC    时间: 2016-1-3 17:02

  1. @echo off
  2. set "FileList=A3测试.txt"
  3. set "FolderDst=F:\网络游戏\诛仙-422\422界面配置\422界面文件\tga"
  4. set "FileError=不存在.txt"
  5. type nul > "%FileError%"
  6. for /f "delims=" %%a in ('type "%FileList%"') do (
  7.     if not exist "%%a\" (
  8.         if exist "%%a" (
  9.             xcopy /e "%%a" "%FolderDst%\%%~pa"
  10.         ) else (
  11.             >> "%FileError%" echo %%a
  12.         )
  13.     ) else (
  14.         >> "%FileError%" echo 存在同名文件夹 %%a
  15.     )
  16.    
  17. )
  18. echo 完成
  19. pause
复制代码

作者: 172788876    时间: 2016-1-3 17:25

回复 2# DAIC


    嗯,俺试试!!
谢了。。
作者: 172788876    时间: 2016-1-3 17:27

回复 2# DAIC


   大神,俺发现你一天24小时都在线哈。。。
作者: 172788876    时间: 2016-1-3 17:36

回复 2# DAIC


    大神,我是说哪个文件没有,就记录错误,不是说文件目录。。。
就是说,列表清单里面这个路径没有这个文件,就记录错误,大神给完善下呗。。。
跪谢!!!
作者: 172788876    时间: 2016-1-3 18:13

本帖最后由 172788876 于 2016-1-4 00:08 编辑

回复 2# DAIC

大神,刚刚我试了,你这个会重复复制,我的列表清单里都是绝对路径的。。。。
用我刚刚发的那个复制不会重复,但是无法判断错误。。。
麻烦大神再修改下。。
作者: DAIC    时间: 2016-1-3 20:38

回复 6# 172788876


    你把代码保存为 test.bat 看看是否会重复复制?
作者: DAIC    时间: 2016-1-3 20:48

回复 5# 172788876


不太明白你在说什么。
请把我的代码生成的“不存在.txt”的内容和你希望得到的内容分别发出来看看,直接发文本内容,不要截图。
作者: 172788876    时间: 2016-1-3 21:14

本帖最后由 172788876 于 2016-1-4 00:09 编辑

回复 8# DAIC
作者: 172788876    时间: 2016-1-3 21:42

本帖最后由 172788876 于 2016-1-4 00:09 编辑

回复 8# DAIC
作者: 172788876    时间: 2016-1-3 22:11

回复 10# 172788876


    抱歉哈,是我逻辑太乱了。。。
群里叫我怎么提问了
作者: 172788876    时间: 2016-1-4 00:10

回复 2# DAIC


    如图,这是一个列表清单,用批处理进行批量复制。
假如,这个清单里某个文件存在,那就复制。
假如,并不存在,那么就创建一个列表,一条条的进行记录。
请求大神做个可以自定义列表清单文件,和输出目录及错误列表文件。。。
例图:
文件列表清单:(这个列表清单里没有规律的,也不只是全在F盘下面,只是想更清楚表达这个意思,但是有很多同名的文件,)
列表清单:
F:\g1
F:\g2                  


比如:F 盘里有A,B,C,D个目录,目录下面有很多同名文件
批量复制时遇到一个问题,就是,我想要批量复制F:\g1, F:\g2这些文件时,它会把 A,B,C,D
也就是F盘下面所有目录里的g1,g2这些文件全部复制了
甚至是A,B,C,D目录的子目录的g1,g2这些文件全部复制了
但是我只想要F盘下面g1,g2这些文件,也就是列表里面用绝对路径指定的文件。。。
请问怎么样只复制列表清单里指定的这个文件???
在线急等。。。
挺急的。
谢谢大神了。。。
大谢!!!
跪谢!!!
作者: 172788876    时间: 2016-1-4 15:04

回复 8# DAIC


大神,我把那些文件全部打包了,就是用这个命令时,输出的结果比列表多很多,感觉没有按照列表清单来。。
请求大神看一下。。谢谢!!!
地址:http://pan.baidu.com/s/1bwGOn8
我想观摩下大神用 xcopy 是什么思路的。。。
大谢!!!
作者: WHY    时间: 2016-1-4 22:15

总是依赖等靠要终究不是神马好办法,zl为啥不亲自看看xcopy帮助呢?xcopy不行的话还有copy呀
作者: 172788876    时间: 2016-1-4 22:45

回复 14# WHY


    嗯,谢谢了。。
作者: saul_chen    时间: 2020-4-4 21:47

大家好,能否给个最终能成功运行的代码,谢谢。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2