如何创建 .bat 循环来创建新的 cmd window 并运行不同的 loop/function?

How to create a .bat loop that creates a new cmd window and runs a different loop/function?

我有以下代码:

set cont=3
:window 
start segredo.bat 
if %cont% equ 0 goto windowend
set /a cont=cont-1 
goto window
:windowend

:loopstart
echo spam
goto loopstart
:loopend

我的 objective 是打开 3 cmd windows 和 运行 在它们每个中的 echo 垃圾邮件循环。相反,它开始打开无限 cmd windows 而没有 运行ning loopstart。我是蝙蝠语言的新手,有人可以帮助我吗?

start segredo.bat 替换为 call segredo.bat

for /l %%a in (1 1 3) do start "" cmd /q /c"for /l %%b in (0) do echo spam"

由内而外

  • 执行 echo 需要无限循环,因此使用简单的数字 for /l 循环。只是一个"iterate from 0 to 1 in steps of 0",一个for /l %%b in (0 0 1)但是缩写了。
  • 由于需要三个单独的实例,命令放在一个 cmd 实例中
  • 我们使用一个额外的数字 for /l 循环,start 每个 cmd 实例。为防止命令出现问题,因为 start 命令将第一个引用的参数处理为 window 标题,因此包含一对空引号。