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

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

如图,这是一个列表清单,用批处理进行批量复制。
假如,这个清单里某个文件存在,那就复制。
假如,并不存在,那么就创建一个列表,一条条的进行记录。
请求大神做个可以自定义列表清单文件,和输出目录及错误列表文件。。。
例图:
文件列表清单:(这个列表清单里没有规律的,也不只是全在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这些文件,也就是列表里面用绝对路径指定的文件。。。
请问怎么样只复制列表清单里指定的这个文件???
看教程,查百度,查了好多了。
在线急等。。。
挺急的
谢谢大神了。。。
大谢!!!
跪谢!!!

  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
复制代码
1

评分人数

TOP

回复 2# DAIC


    嗯,俺试试!!
谢了。。

TOP

回复 2# DAIC


   大神,俺发现你一天24小时都在线哈。。。

TOP

回复 2# DAIC


    大神,我是说哪个文件没有,就记录错误,不是说文件目录。。。
就是说,列表清单里面这个路径没有这个文件,就记录错误,大神给完善下呗。。。
跪谢!!!

TOP

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

回复 2# DAIC

大神,刚刚我试了,你这个会重复复制,我的列表清单里都是绝对路径的。。。。
用我刚刚发的那个复制不会重复,但是无法判断错误。。。
麻烦大神再修改下。。

TOP

回复 6# 172788876


    你把代码保存为 test.bat 看看是否会重复复制?

TOP

回复 5# 172788876


不太明白你在说什么。
请把我的代码生成的“不存在.txt”的内容和你希望得到的内容分别发出来看看,直接发文本内容,不要截图。

TOP

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

回复 8# DAIC

TOP

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

回复 8# DAIC

TOP

回复 10# 172788876


    抱歉哈,是我逻辑太乱了。。。
群里叫我怎么提问了

TOP

回复 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这些文件,也就是列表里面用绝对路径指定的文件。。。
请问怎么样只复制列表清单里指定的这个文件???
在线急等。。。
挺急的。
谢谢大神了。。。
大谢!!!
跪谢!!!

TOP

回复 8# DAIC


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

TOP

总是依赖等靠要终究不是神马好办法,zl为啥不亲自看看xcopy帮助呢?xcopy不行的话还有copy呀

TOP

回复 14# WHY


    嗯,谢谢了。。

TOP

返回列表