Board logo

标题: [文件操作] bat脚本批量移动遇到有问题的文件卡住不动了 [打印本页]

作者: dawnning    时间: 2023-9-18 18:50     标题: bat脚本批量移动遇到有问题的文件卡住不动了

原始文件在局域网共享盘,需要复制到备份盘;由于有部分文件损坏,BAT提示“文件或目录损坏无法读取”,然后就卡住不动了,如何跳过?
   

里面的代码是:
  1. @echo off
  2. for /r   E:\共享盘    %%a   in   (*.bak) do (
  3. move  "%%a"  E:\BAK备份
  4. )
复制代码

作者: Batcher    时间: 2023-9-18 19:03

回复 1# dawnning


把move改成先copy后del可以吗?
它会在copy的时候报错卡住?还是在del的时候报错卡住?
作者: dawnning    时间: 2023-9-18 19:48

回复 2# Batcher


    测试了,用copy也会报错,这里上传不了图片
作者: pd1    时间: 2023-9-18 20:07

这样能不能跳过去?
  1. @echo off
  2. for /r   E:\共享盘    %%a   in   (*.bak) do (
  3. move  "%%a"  E:\BAK备份 2>&1
  4. )
复制代码

作者: Batcher    时间: 2023-9-18 20:46

回复 3# dawnning


如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
作者: Batcher    时间: 2023-9-18 21:15

回复 1# dawnning


是否检查过报错的文件,属性,安全,高级,权限有什么特殊的地方?
是否在服务器上使用 sfc /scannow 和 chkdsk /f /r 进行修复?
是否使用其它工具在服务器上检查硬盘逻辑坏道、物理坏道?
作者: 77七    时间: 2023-9-18 21:52

我遇到类似情况是新开一个窗口处理的。
  1. @echo off
  2. %1 (for /r E:\共享盘 %%a in (*.bak) do ((start /min "" "%~f0" rem "%%a")& timeout 3))&exit
  3. move "%~2" "E:\BAK备份"
  4. exit
复制代码





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