Batch file 批量打开firefox

Batch file 批量打开firefox,batch-file,firefox,cmd,Batch File,Firefox,Cmd,我有一个.bat,它包含一个命令,在运行第二个运行超时的命令之前检查firefox是否打开 @echo off set programName=firefox.exe tasklist /FI "IMAGENAME eq %programName%" 2>NUL | find /I /N "%programName%">NUL if "%errorlevel%"=="0" goto delayloop if "%errorlevel%"=="1" start %programNam

我有一个.bat,它包含一个命令,在运行第二个运行超时的命令之前检查firefox是否打开

@echo off
set programName=firefox.exe
tasklist /FI "IMAGENAME eq %programName%" 2>NUL | find /I /N "%programName%">NUL
if "%errorlevel%"=="0" goto delayloop
if "%errorlevel%"=="1"  start %programName% goto delayloop

:delayloop
timeout /t 600 /nobreak
goto loop
问题在于,该命令使用两个新选项卡打开firefox,即goto.com和delayloop.com,而不是使用firefox默认值:显示上次的窗口和选项卡

知道如何告诉CMD goto delayloop不是firefox中可以打开的标签吗。 尽管将goto delayloop理解为选项卡中的新闻地址,但.bat始终转到下一个命令“delayloop”

如何更改go以防止打开这两个新闻选项卡

您需要使用:

if "%errorlevel%"=="1" (
  start %programName% 
  goto delayloop
 )

批处理将考虑Goto和DelayLoad作为参数。

批处理确实是,您告诉它做什么:

 if "%errorlevel%"=="1"  start %programName% goto delayloop
如果errorlevel为1,则使用参数goto和delayloop启动程序%programName%

如果只支持一个命令,那么您必须将命令分组。多个命令在逻辑上被视为一个命令:

if "%errorlevel%"=="1" (
  start %programName%
  goto :delayloop
)
或作为一个班轮:

if "%errorlevel%"=="1"  (start %programName% & goto delayloop)