Board logo

标题: [代码合集] 循环中的循环命令 [打印本页]

作者: zinet    时间: 2008-11-5 17:36     标题: 循环中的循环命令

有一代码如下:

@echo off
:loop
cls
set /a num+=1
if %num%==22 (goto exit)
echo 这是第 %num% 次运行
start A程序
goto loop
:exit
shutdown -s -t 3

意思是循环运行21次A程序后自动关机
我想在这代码上改动,使他能完成预定目的,我预定了,A程序  B程序 C程序。
我想代码在第一次运行时运行A程序,第二次运行时运行B程序,第三次运行时运行C程序,第四次时又恢复运行A程序,如此类推直到循环运行到最后的21次后关机,不知能否用批处理或VBS命令实现,可以的话用批处理或VBS命令各自怎样表述。请高人指点  谢谢
作者: more    时间: 2008-11-5 17:58     标题: 这样吗?

  1. @echo off
  2. :lp
  3. cls
  4. set /a m+=1,n+=1
  5. if "%m%"=="22" goto :out
  6. echo 这是第%m%次运行
  7. if "%n%"=="1" start a程序
  8. if "%n%"=="2" start b程序
  9. if "%n%"=="3" (set n=0&start c程序)
  10. goto :lp
  11. :out
  12. shutdown -s -t 3
复制代码

作者: Batcher    时间: 2008-11-5 18:22

本版规则
1、求代码、寻求代码解释、探讨代码得失的帖子均可发在本版块,其余话题禁止在本版讨论;
2、求助时,务必在顶楼一次性把问题交代清楚;若文字难以表述,请配图说明,或是上传附件;但是,一切操作应从节约论坛资源的角度出发,能文字说明清楚的就无需再发图片,小图能说明问题的尽量不截全图,在不影响效果的前提下尽量压缩图片及附件;
3、所发代码若不止一行,请务必用code标记把代码部分首尾括起来,以便他人复制;

作者: 随风    时间: 2008-11-5 22:03

:
  1. @echo off&Setlocal EnableDelayedExpansion
  2. set ".1=a程序"&set ".2=b程序"&set ".3=c程序"
  3. for /l %%a in (1 1 21) do (
  4.    set /a n=n%%3+1
  5.    call start "" "%%.!n!%%"
  6. )
  7. shutdown -s -t 3
复制代码

[ 本帖最后由 随风 于 2008-11-5 22:04 编辑 ]
作者: jellyhk    时间: 2008-11-6 00:55

第一次运行时运行A程序,第二次运行时运行B程序,第三次运行时运行C程序,第四次时又恢复运行A程序


---------------------------
你的意思是!
运行了在关了?


[ 本帖最后由 jellyhk 于 2008-11-6 00:56 编辑 ]




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2