Batch file 批处理-按时间间隔解压缩文件
我有一个脚本,可以将.rar文件解压缩到自己的文件夹中。现在我希望脚本解包.rar文件,如果失败,它应该尝试再次解包。重试5次失败后,它应该将文件夹及其解压缩的文件移动到一个新的位置文件夹,我称之为Error 到目前为止,我有:Batch file 批处理-按时间间隔解压缩文件,batch-file,intervals,Batch File,Intervals,我有一个脚本,可以将.rar文件解压缩到自己的文件夹中。现在我希望脚本解包.rar文件,如果失败,它应该尝试再次解包。重试5次失败后,它应该将文件夹及其解压缩的文件移动到一个新的位置文件夹,我称之为Error 到目前为止,我有: :复制目录 对于(“%BaseSourceFolder%\*”中的/D%%D,请执行以下操作( 设置“TargetFolder=%BaseSourceFolder%\%%~nxD” %ProgramFiles%\WinRAR\Rar.exe“x-cfg--y”%%~fD
:复制目录
对于(“%BaseSourceFolder%\*”中的/D%%D,请执行以下操作(
设置“TargetFolder=%BaseSourceFolder%\%%~nxD”
%ProgramFiles%\WinRAR\Rar.exe“x-cfg--y”%%~fD\*.*”!TargetFolder
如果不是错误级别1(
del“%%~fD\*.r???”
移动“%~fD\*.*”!TargetFolder!”>nul 2>nul
移动“!TargetFolder!”E:\New“>nul 2>nul
)否则(
对于(1,1,5)do中的/l“!TargetFolder!”(
转到复制目录
移动“!TargetFolder!”E:\Error“>nul 2>nul
)
)
)
将所有内容移动到1…5循环中,如果成功,请使用转到或退出:
for /L %%z in (1,1,5) do (
echo try #%%z
............. do something
if not errorlevel 1 goto done
)
:done
这样的FOR/L命令是无法破解的。它仍然会执行所有迭代,而不管您的转到如何。忘记设置上面的goto CopyDirectories
。您的建议是否与上面的示例完全相同?否。用您的复制命令替换“do something”,仅此而已。