通过命令行启动程序,但前提是尚未运行

use*_*671 18 windows command-line batch-file

我想出了下面的批处理文件,它工作得很好。但是,我想知道是否有一种方法可以对其进行编码,以便如果某个程序已经在运行,它会跳过它并启动下一个。我希望这是有道理的。任何建议将不胜感激。

@echo off    
pushd    
start "" cmd /c cscript "C:\Users\User\Desktop\Work.vbs"    
start "C:\Program Files\Microsoft Office\Office15" Outlook.exe    
start "C:\Program Files\Microsoft Office\Office15" Lync.exe    
start "C:\Program Files (x86)\Google\Chrome\Application" chrome.exe    
runas /savecred /user:"DOMAIN\User_Adm" "C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\VpxClient.exe"    
runas /savecred /user:"DOMAIN\User_Adm" "mmc.exe \"My_Tools.msc\"
Run Code Online (Sandbox Code Playgroud)

nix*_*xda 26

这是一个使用任务列表检查给定名称的所有正在运行的应用程序的示例。
否则它会启动程序。我相信你可以适应你的需要

tasklist /nh /fi "imagename eq notepad.exe" | find /i "notepad.exe" > nul ||
(start notepad.exe)
Run Code Online (Sandbox Code Playgroud)