如何创建 .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 标题,因此包含一对空引号。
我有以下代码:
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 标题,因此包含一对空引号。