2017-06-01 9 views
0

同じバッチファイルで2つのループを同時に実行するにはどうすればよいですか? 例えば、これは動作しません:バッチファイルで2つのループを実行する方法

@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 
+0

は、これは同時に二つのループを実行することはできませんライン形式 –

+2

Cmdをスクリプトにすることになりました。あなたができることは、 'cmd'スクリプトを同時に含む2つのプログラムを実行するために' START'コマンドを使用することです。詳細は「START /?」を参照してください。 – lit

答えて

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 
関連する問題