Запустить установленную на компьютере программу можно как минимум тремя способами — двойным кликом по ярлыку на Рабочем столе, через интерфейс диалогового окна «Выполнить» и через поиск Windows.
Во всех этих трех случаях (да и в остальных также) можно запускать только по одной программе за один раз.
А что, если вам нужно запустить сразу несколько программ, скажем, с целью экономии времени? Возможно ли такое?
Конечно! Организовать мультизапуск очень просто, а всё что вам для этого понадобится, так это один ярлык и один командный файл CMD, созданием которого мы сейчас и займемся.
Первым делом нам нужно получить пути к каталогам приложений, которые предполагается запускать одновременно. В нашем примере это будут CCleaner и AnVir Task Manager. Вытащить пути папок этих программ проще всего из их же собственных ярлыков.

Теперь откройте Notepad++ или другой текстовый редактор и вставьте в него следующий код:
Естественно, у вас пути могут быть другими.
Обратите внимание, что пути к каталогам с исполняемыми файлами берутся в прямые кавычки. Пробелов после строк кода быть не должно. Сохраните файл, дав ему произвольное имя на английском языке и присвоив расширение BAT или CMD.
Теперь создайте новый ярлык и в поле расположения файла укажите путь к созданному командному файлу. Для полноты картины также можно облагообразить ярлык, заменив его стандартную иконку подходящим по смыслу изображением формата ICO. Если всё было сделано правильно, при клике по такому ярлыку сначала будет запущен CCleaner, а за ним с небольшим отрывом стартует AnVir Task Manager. Вот таким нехитрым способом можно настроить запуск сразу нескольких приложений. Однако увлекаться все же не стоит, так как слишком большой количество запускаемых программ могут вызвать нечто подобное зависанию, что особенно будет заметно на слабых машинах.
Гораздо интереснее использовать Windows Script Host (WSH)
Создаётся текстовый файл с расширением JS и внутри текст
Где запуск программы осуществляется строкой WSHShell.Run("cmd",5);
Где cmd запускаемая программа (можно писать полный путь)
При этом при запуске будет вопрос о необходимости запуска нескольких программ
var vbInformation = 64;
var vbCancel = 2;
var Message = "Вы действительно хотите запустить программы?";
var Title = "Подтвердите действие";
Welcome();
var WSHShell = WScript.CreateObject("WScript.Shell");
//В ковычках путь\\название запускаемой программы.
//0 — запускать программу в скрытом окне. Т.е. если вы попытаетесь запустить Блокнот с таким значением второй переменной, то окно программы
будет невидимым и кнопка на панели задач не будет создана. Чтобы увидеть что Блокнот все-таки запустился, нажмите Ctrl+Alt+Del и вы увидите там
строку с текстом Notepad.
//6 — запустить программу минимизированной. При этом активным будет следующее окно в Z-последовательности.
//2 — запустить программу минимизированной.
//3 — запустить программу максимизированной.
//5 — запустить программу с текущими размером и позицией окна.
WSHShell.Run("cmd",5);
WSHShell.Run("notepad",5);
function Welcome() {
var WSHShell = WScript.CreateObject("WScript.Shell");
var intDoIt;
intDoIt = WSHShell.Popup(Message,
0,
Title,
vbOKCancel + vbInformation );
if (intDoIt == vbCancel) {
WScript.Quit();
}
}
Надобность сего действа сомнительна, мне кажется.
Кстати, можно сделать запуск второй программы не сразу, а спустя несколько минут? 5 например.
Есть разные способы, вот самые обычные
TIMEOUT /T 10 /NOBREAK
Начиная с висты
start /w nircmd wait [milliseconds]
При запуске самой программы
Dolmatov
Благодарю.
А почему не .bat?
Чем вообще отличается .cmd от .bat?