如何在批处理文件上运行两个循环

时间:2017-06-01 00:11:46

标签: batch-file cmd

如何同时在同一个批处理文件上运行两个循环? 例如,这不起作用:

@echo off
title matrix
mode 1000
color 0a
pause
goto A
goto B

:A
echo hi
goto A

:B
color a
Ping 1.1.1.1 -n 1 -w 7.5>nul
color b
Ping 1.1.1.1 -n 1 -w 7.5>nul
color c
Ping 1.1.1.1 -n 1 -w 7.5>nul
color d
Ping 1.1.1.1 -n 1 -w 7.5>nul
color e
Ping 1.1.1.1 -n 1 -w 7.5>nul
goto B

1 个答案:

答案 0 :(得分:1)

正如评论中已经指出的那样,没有" mulitithreading"在批处理文件中。但是有了一点逻辑,我们可以模仿它(在同一个过程中)。

@echo off
setlocal enabledelayedexpansion
set "colors=abcde"

:loop
  timeout 1 >nul
  set /a n=(n+1)%%8
  call :a
  if %n% equ 0 call :b
goto :loop

:A Main loop echoing
echo Hello World %random%
goto :eof

:B Secondary loop color changing
set /a col=(%col%+1)%%5
color %col%F
goto :eof