2012-06-10 3 views
0

В принципе у меня есть простой пакетный скрипт, который сейчас запускает программу несколько раз, назовем ее 1.exe, 1.exe запустится 20 раз и затем будет убит после% количества секунд (задается аргументом командной строки).Пакетный файл, запуск следующей программы, если он уже запущен

Что мне нужно сделать, если 1.exe уже запущен, запустите 2.exe вместо этого, если 2.exe и 1.exe уже запускают запуск 3.exe и т. Д.

Весь код, я действительно только сейчас

Timeout /t 20 /nobreak >nul 
echo. 
taskkill /F /IM %programname% 
echo. 
pause >nul 

, а также запуск 1.exe

Любая помощь приветствуется.

+0

Несколько вопросов: 1. являются исполняемые файлы на самом деле «1.exe», «2.exe» и т. д. ... есть простой способ повторить их имена? 2. Вам нужно, чтобы '2.exe' запускался только один раз, или если' 1.exe' не работает в любой момент времени? –

ответ

1

Код Batch ниже запуска 2.exe если 1.exe уже запущен, запуск 3.exe если 2.exe уже работает и так далее:

for /L %%i in (1,1,20) do (
    for /F "skip=3" %%e in ('tasklist /fi "imagename eq %%i.exe"') do (
     if "%%e" equ "%%i.exe" set lastExe=%%i 
    ) 
) 
set /A lastExe+=1 
%lastExe%.exe 
Смежные вопросы