用批处理打开firefox

时间:2015-11-30 09:08:47

标签: 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 %programName% goto delayloop

:delayloop
timeout /t 600 /nobreak
goto loop

问题是该命令使用2个新选项卡打开firefox,它们是goto.com和delayloop.com,而不是使用firefox默认值:“显示上次我的窗口和选项卡”。

任何想法如何“告诉”CMD goto delayloop不是在Firefox中打开的标签。 尽管在标签中理解goto delayloop作为新闻地址,但.bat总是转到下一个命令`delayloop。

如何更改go以防止打开此2个新闻标签。

2 个答案:

答案 0 :(得分:1)

你需要使用:

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

否则批处理会将goto和delayloop视为参数。

答案 1 :(得分:1)

批次完全正确,你告诉它做什么:

preSelected = ['module-001', 'module-003', 'module-027'];

[].forEach.call(preSelected, function(val){

    $("#my-table input[type='checkbox'][value='"+val+"']").prop('checked', true);

});

如果errorlevel为1,则使用参数(input if "%errorlevel%"=="1" start %programName% goto delayloop

启动程序(%programName%

IF仅支持一个命令,因此您必须对命令进行“分组”(parantheses中的几个命令在逻辑上被视为一个命令):

goto

或作为单行:

delayloop