无忧启动论坛

标题: 想批量复制文件后导出复制失败的文件列表 [打印本页]

作者: zpf1223    时间: 2023-6-20 12:59
标题: 想批量复制文件后导出复制失败的文件列表
批量复制文本中路径文件和文件夹,就是从D:\PE 文件夹中复制到E:\BOOT 中,然后导出失败的文件路径到 A.TXT 中 ,现在用xcopy可以复制,但是感觉还有很多没有复制进去,就是不知道失败的文件到底是哪些。这个批处理该怎么写

作者: ppll2030    时间: 2023-6-20 13:26
复制子文件夹和文件需要参数S,隐藏文件需要参数H
作者: zpf1223    时间: 2023-6-20 13:28
ppll2030 发表于 2023-6-20 13:26
复制子文件夹和文件需要参数S,隐藏文件需要参数H

复制不成功的文件 列表  用什么方式导出
作者: ppll2030    时间: 2023-6-20 13:52
zpf1223 发表于 2023-6-20 13:28
复制不成功的文件 列表  用什么方式导出

xcopy正常没有不成功的。除非你的文件本身就有问题。
所以复制不完全就是你参数不对。
你目的是完整复制,那就研究参数就好了。
你非要失败列表,难道打算手动复制失败的部分?

作者: batche    时间: 2023-6-20 13:58
  1. 2>>fail.txt  xcopy ……
复制代码

试试这个,生成日志最好用robocopy,复制也更可靠
作者: zpf1223    时间: 2023-6-20 14:31
ppll2030 发表于 2023-6-20 13:52
xcopy正常没有不成功的。除非你的文件本身就有问题。
所以复制不完全就是你参数不对。
你目的 ...

因为文件列表里的文件可能存在文件名改动的情况,导出失败的就知道是哪个文件的问题了
作者: jctsky    时间: 2023-6-20 15:08
fastcopy有个错误日志
作者: zpf1223    时间: 2023-6-20 15:16
jctsky 发表于 2023-6-20 15:08
fastcopy有个错误日志

我是想复制文本中的列表文件,fastcopy是指定整个目录复制,不是我要的,楼上兄弟推荐robocopy,正在研究,好像robocopy日志输出功能非常完整
作者: bjay2008xmy    时间: 2023-6-20 15:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: shy20070509    时间: 2023-6-20 15:48
用xcopy复制文件时,只要文件正常、空间足够,是不会出错的,而且重复文件会自动过滤
作者: yyz2191958    时间: 2023-6-20 16:26
进来学习
作者: zpf1223    时间: 2023-6-20 16:34
bjay2008xmy 发表于 2023-6-20 15:44
你这是制作PE用的吧?根据文件清单复制完整的目录结构和文件。

是的,总是每次复制的文件数和列表文件不对,因为我都是先复制进单独的文件夹 查看数目在复制进PE目录,但就是不知道是哪些失败了
作者: zpf1223    时间: 2023-6-20 16:34
yyz2191958 发表于 2023-6-20 16:26
进来学习


作者: zpf1223    时间: 2023-6-20 16:35
shy20070509 发表于 2023-6-20 15:48
用xcopy复制文件时,只要文件正常、空间足够,是不会出错的,而且重复文件会自动过滤

就是怕列表文件路径没写对,导出错误文件后就知道是哪些出了问题
作者: yyz2191958    时间: 2023-6-20 16:36
zpf1223 发表于 2023-6-20 16:34

纯表情可以吗?
作者: zpf1223    时间: 2023-6-20 16:39
我在批处理贴吧看到 一个类似的帖子,我去好复杂 看不懂
这是提问,下面是回复的 。看不懂
  1. @echo off
  2. set @=q&set/an=0x53b7e0b4
  3. title Any question +%@%%@% %n%
  4. call :t "E:\1.txt" "W:\upload-drafts-tool\uploads\2019-04-01" "E:\A" "E:\2.txt"
  5. echo;Any question +%@%%@% %n%
  6. pause&exit
  7. :t
  8. if not exist "%~2" (echo;"%~2" path error or not existed&exit /b)
  9. for /f "delims=" %%a in ('type "%~1"') do (
  10. set "f="
  11. for /r "%~2" /d %%b in (*) do (
  12. if /i "%%~nxb" equ "%%~nxa" (
  13. set f=1
  14. xcopy "%%b" "%~3\%%~nxb" /s /q /y
  15. )
  16. )
  17. if not defined f >>"%~4" echo;%%a
  18. )
  19. exit /b
复制代码

作者: 2012jiashanni    时间: 2023-6-20 16:40
就是复制的文件名是从txt中读取 然后复制到E:\BOOT  是吧
作者: conlin888    时间: 2023-6-20 16:46
将D:\PE下所有文件和文件夹复制到文件夹E:\BOOT下:

XCOPY "D:\PE" "E:\BOOT\" /B /C /E /H /K /Y
作者: ppll2030    时间: 2023-6-20 17:00
zpf1223 发表于 2023-6-20 14:31
因为文件列表里的文件可能存在文件名改动的情况,导出失败的就知道是哪个文件的问题了

唉。搞了半天,是为了找错

你有文件列表A了,那就直接导出D:\PE的文件列表B,然后用工具比对一下A和B有差异的文件名就可以了。

何必要浪费时间去复制一大堆文件,再找差异呢


作者: bjay2008xmy    时间: 2023-6-20 17:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: zpf1223    时间: 2023-6-20 19:40
2012jiashanni 发表于 2023-6-20 16:40
就是复制的文件名是从txt中读取 然后复制到E:\BOOT  是吧

是的 还要导出错误信息,或者导出整个日志都行




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./) Powered by Discuz! X3.3