Как запустить несколько программ с помощью командного файла

Мне нравится запускать две программы с использованием командного файла, но условие есть, вторая программа должна запускаться только после загрузки первой программы, так что есть ли способ контролировать использование таймера для управления при запуске программы.

Ответ 1

В принципе, вы можете попробовать этот подход (не тестировался):

  • Запустите первую программу с помощью команды start.

  • Проверьте список задач в цикле, чтобы увидеть, появилась ли там программа.

  • Наложить некоторое ограничение времени на указанный цикл.

  • Запустите следующую программу в случае успеха, в противном случае выйдите с уведомлением.

Сценарий может выглядеть так:

@ECHO OFF
START program1.exe
FOR /L %%i IN (1,1,100) DO (
  (TASKLIST | FIND /I "program.exe") && GOTO :startnext

  :: you might add here some delaying
)
ECHO Timeout waiting for program1.exe to start
GOTO :EOF

:startnext
program2.exe
:: or START program2.exe

Имейте в виду, что время не точное, особенно если вы собираетесь вставлять задержки между проверками списка задач.

Ответ 2

Мне нужно было то же самое, и выяснил, что следующая вещь работает так, как надеялись:

start D:\Michal\Xming\Xming.exe -multiwindow
start D:\Michal\Xming\putty.exe
start D:\Michal\WinSCP\WinSCP.exe

И все это сохраняется в файле Login.bat.

Кстати, я запускаю Win7, но я сомневаюсь, что это имеет какое-то влияние.

Ответ 3

Я думаю, что здесь может быть неактуально, но хотелось бы поделиться следующим:

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

@ECHO off

start C:\Users\User1\Desktop\Softwares\IE
start C:\Users\User1\Desktop\Softwares\Googletalk
start C:\Users\User1\Desktop\Softwares\YahooMessenger
start C:\Users\User1\Desktop\Softwares\Program4
start C:\Users\User1\Desktop\Softwares\Program5

Ответ 4

Я также нашел небольшой взломать его, просто используя команду ping с ключом -n следующим образом:

start /d "C:\Program Files (x86)\Mobile Partner\" MobilePartner.exe
ping 127.0.0.1 -n 8
start /d "F:\Other Applcations\System Tools\OS Tweak\" dragfullwindows.exe