批处理 - 按时间间隔解压文件
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 循环,并在成功的情况下使用 goto
或 exit
:
跳出循环
for /L %%z in (1,1,5) do (
echo try #%%z
............. do something
if not errorlevel 1 goto done
)
:done
你不能像那样中断 FOR /L 命令。无论您转到哪里,它仍将执行所有迭代。
我有一个脚本可以将 .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 循环,并在成功的情况下使用 goto
或 exit
:
for /L %%z in (1,1,5) do (
echo try #%%z
............. do something
if not errorlevel 1 goto done
)
:done
你不能像那样中断 FOR /L 命令。无论您转到哪里,它仍将执行所有迭代。