标题: [文本处理] 【已解决】怎样按照列表清单复制文件,并记录不存在的文件,在线急等!!谢谢!! [打印本页]
作者: 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
- @echo off
- set "FileList=A3测试.txt"
- set "FolderDst=F:\网络游戏\诛仙-422\422界面配置\422界面文件\tga"
- set "FileError=不存在.txt"
- type nul > "%FileError%"
- for /f "delims=" %%a in ('type "%FileList%"') do (
- if not exist "%%a\" (
- if exist "%%a" (
- xcopy /e "%%a" "%FolderDst%\%%~pa"
- ) else (
- >> "%FileError%" echo %%a
- )
- ) else (
- >> "%FileError%" echo 存在同名文件夹 %%a
- )
-
- )
- echo 完成
- 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 |