Запускать программы через командную строку, но только если она еще не запущена

Я придумал пакетный файл ниже, и он отлично работает. Тем не менее, я хотел бы знать, есть ли способ закодировать его, чтобы, если программа уже запущена, она пропустит ее и запустит следующую. Я надеюсь в этом есть смысл. Любые советы будут очень признательны.

@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\" 

Ниже приведен пример использования списка задач для проверки всех запущенных приложений для данного имени.
В противном случае он запускает программу. Я уверен, что вы можете приспособить его к своим потребностям

 tasklist /nh /fi "imagename eq notepad.exe" | find /i "notepad.exe" > nul || (start notepad.exe) 

Я внедрил tasklist в свой скрипт и его работу как шарм.
Здесь у кого-то еще есть те же вопросы, что и у меня.

 @echo off pushd tasklist /nh /fi "imagename eq iexplore.exe" | find /i "iexplore.exe" > nul ||(start Work.vbs) tasklist /nh /fi "imagename eq outlook.exe" | find /i "outlook.exe" > nul ||(start outlook.exe) tasklist /nh /fi "imagename eq lync.exe" | find /i "lync.exe" > nul ||(start lync.exe) tasklist /nh /fi "imagename eq chrome.exe" | find /i "chrome.exe" > nul ||(start chrome.exe) tasklist /nh /fi "imagename eq VpxClient.exe" | find /i "VpxClient.exe" > nul || runas /savecred /user:"DOMAIN\User_Adm" "C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\VpxClient.exe" tasklist /nh /fi "imagename eq mmc.exe" | find /i "mmc.exe" > nul || runas /savecred /user:"DOMAIN\User_Adm" "mmc.exe \"My_Tools.msc\" 
 @echo off tasklist /FI "IMAGENAME eq outlook.exe" | find /i "outlook.exe" IF ERRORLEVEL 2 GOTO LOOP2 IF ERRORLEVEL 1 GOTO LOOP1 :LOOP1 start notepad.exe goto EXIT :LOOP1 start outlook.exe goto EXIT :EXIT 
  • Буквенное письмо с данным файлом в пакете окон
  • Как извлечь поврежденные файлы RAR
  • Дамп содержимого командной строки cmd в файл из пакетного файла
  • Как запустить исполняемые файлы с помощью командной строки с именами пространства с именами и без запуска программы ожидания командной строки?
  • FileZilla не работает на сервере Server 2008 R2
  • Синтаксис перенаправления пакетного сценария
  • Можно ли обновить Windows 8.1 до последней версии?
  • Инструмент командной строки для установки тега msspecific «рейтинг» в jpeg
  • Есть ли инструмент, который может определять тип файла из данных?
  • Создание папки из первых 5 символов имени файла в пакетном файле
  • Переместить все файлы типа в новую папку в Windows 7
  • Давайте будем гением компьютера.