我是批处理文件的新手,我正在尝试创建一个脚本来检查进程是否正在运行,并在进程未运行时发出警报。这是我从谷歌那里得到的,但不是我想要的方式。
tasklist /FI "IMAGENAME eq example.exe" 2>NUL | find /I /N "example.exe">NUL if "%ERRORLEVEL%"=="0" echo Program is running
答案 0 :(得分:0)
如果这是批次(根据问题的尝试表明),根据[MS.Docs]: Using multiple commands and conditional processing symbols:
&& [...]
command1 && command2
仅当符号前面的命令成功时,才能使用&& 后面的命令运行。 Cmd.exe运行第一个命令,然后仅在第一个命令成功完成时运行第二个命令。
示例强>:
C:\>(tasklist /FI "IMAGENAME eq svchost.exe" 2>NUL | findstr /I /N "svchost.exe" >NUL) && (echo Program running) Program running C:\>(tasklist /FI "IMAGENAME eq svchost1.exe" 2>NUL | findstr /I /N "svchost1.exe" >NUL) && (echo Program running)
答案 1 :(得分:0)
你正试图让它复杂化。将以下内容复制到批处理文件中。也可以使用findstr。
tasklist /fi "imagename eq example.exe" | findstr /i "example.exe" >nul
If %errorlevel%==0 echo example.exe running.
If %errorlevel%==1 echo example.exe Not running.
答案 2 :(得分:0)
这更复杂,当您使用if (typeof obj.k3 === 'undefined')
进行过滤时,无需按ImageName
进行过滤:
Find