批处理 - 按时间间隔解压文件

batch - unpack files in time interval

我有一个脚本可以将 .rar 文件解压到它自己的文件夹中。现在我希望脚本解压 .rar 文件,如果失败,它应该尝试再次解压。重试 5 次失败后,它应该将包含他的解压文件的文件夹移动到我称为错误的新位置文件夹。

到目前为止我有这个:

:复制目录 对于 /D %%D in ("%BaseSourceFolder%\*") do ( 设置 "TargetFolder=%BaseSourceFolder%\%%~nxD" "%ProgramFiles%\WinRAR\Rar.exe" x -cfg- -y "%%~fD\*.*" "!TargetFolder!" 如果不是错误级别 1 ( del "%%~fD\*.r??" 移动 "%%~fD\*.*" "!TargetFolder!">nul 2>nul 移动“!目标文件夹!” "E:\New">nul 2>nul<br> ) 别的 ( for /l "!TargetFolder!"在 (1, 1, 5) 中做 ( 转到复制目录 移动“!目标文件夹!” "E:\Error">nul 2>nul ) ) )

将所有内容移入 1...5 循环,并在成功的情况下使用 gotoexit:

跳出循环
for /L %%z in (1,1,5) do (
    echo try #%%z

    ............. do something

    if not errorlevel 1 goto done
)
:done

你不能像那样中断 FOR /L 命令。无论您转到哪里,它仍将执行所有迭代。