批处理循环执行问题 高手请进。谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/24 20:21:19
要求 我有两个批处理命令a b
每运行100次a之后运行100次b

请高手指点 还可以追加分数。在线等待。谢谢!!!
可以帮忙的请直接提交答案。一楼的提示我早看过。不行。这么简单的东西就没有人给写一个么?
小楼春雨同志 你的答案比较接近我的要求 谢谢你 同时 我扩展下要求:我需要批处理中对处理过程的次数进行记录。就是在你给的答案中最后一行返回首行goto循环之前记录一个数值。如果我这一次关闭这段批处理下次执行能够判断上次记录结果并由前结果继续累加记录。对此我追加50分。希望你能帮我尽快完成。谢谢。

你的补充问题没太看懂,循环之前记录一个数值,是指的记录a.bat运行了几次吗?还是别的什么? "下次执行能够判断上次记录结果并由前结果继续累加记录" 又是什么意思?比如说:上次a运行了10次结束,下次就要从第11次开始运行,是这样的吗?如果是,那就看看以下代码是否符合,
第一次要先建立2个文本分别用来记录a和b的运行次数,命名a.txt和b.txt
@echo off
for /f %%i in (a.txt) do set i=%%i
:a
set /a i=%i%+1
if %i% gtr 100 goto 1
call a.bat
@echo %i% >>a.txt
goto a
:1
for /f %%k in (b.txt) do set k=%%k
:2
set /a k=%k%+1
if %k% gtr 100 goto x
call b.bat
echo %k% >>b.txt
goto 2
:x
exit

刚刚看了楼主的扩展要求又把代码改了一下..如有必要请楼主自己把要运行的程序名改一下(echo 你好吗 和 echo 我很好).

@echo off
if exist 1.txt for /f %%i in (1.txt) do (set /a a=%%i)&&goto good
set /a a=1
:top
echo 你好吗?
echo %a% >1.txt
:good
set /a a+=1
if %a% == 101 goto next
goto top

:next
if exist 1.txt del 1.txt
echo 你现在想运行第二个程序吗?&echo.&pause
if exist 2.txt for /f %%j in (2.txt) do (set /a a=%%j)&&goto goo