如果应用程序(特别是Outlook.exe)尚未运行,我想自动启动它。我想通过Windows 7任务调度程序执行此操作,这意味着当我尝试通过用&替换换行符在一行上执行它时解决方案here不起作用。无论是运行还是关闭,它都会启动前景。
tasklist /FI "IMAGENAME eq outlook.exe" 2>NUL | find /I /N "outlook.exe">NUL & if "%ERRORLEVEL%"=="0" "C:\Program Files (x86)\Microsoft Office\Office14\OUTLOOK.EXE"
答案 0 :(得分:3)
只需进行快速修复,以便在成功打开文件后退出批处理。
我添加了开始“”
cmd.exe /c tasklist /FI "IMAGENAME eq outlook.exe" | find /I /N "outlook.exe" ||start "" "C:\Program Files (x86)\Microsoft Office\Office14\OUTLOOK.EXE"
答案 1 :(得分:0)
我找到this,其中第二个答案更详细地介绍了&和|选项。
这最终适合我:cmd.exe /c tasklist /FI "IMAGENAME eq outlook.exe" | find /I /N "outlook.exe" || "C:\Program Files (x86)\Microsoft Office\Office14\OUTLOOK.EXE"
更多细节: || [...] command1 ||命令2 用于在||后面运行命令仅当前面的命令是||失败即可。 Cmd.exe运行第一个命令,然后仅在第一个命令未成功完成时才运行第二个命令(收到大于零的错误代码)。