2

我正在使用windows,我想在bat中做一个循环并在满足条件时打破它,我不想使用goto,有人可以给我一般的方法吗?就我而言,我想循环直到文件大小大于 200 KB,所以在我的批处理中我创建了一个文件(随着时间的推移会变大),然后我想用循环检查它的大小,如果它大于 200 KB 我想打破循环

4

1 回答 1

3

不幸的是,批处理脚本语言没有while循环,只有for具有预定迭代次数的循环,所以恐怕if+goto是您唯一的选择。为什么你决心避免goto批量声明?

下面的代码类似于一个常见的do-while循环:

:do_while_loop_start
rem This is the body of the loop (do something here...)

:do_while_loop_end
for /f "usebackq" %%a in ('somefile.txt') do set filesize=%%~za
if %filesize% leq 204800 goto do_while_loop_start

还不够优雅吗?我认为是这样。

于 2012-08-30T11:01:44.837 回答