Ось моя колекція способів досягти цього - і навіть більше - там, де це було можливо, я намагався повернути також PID розпочатого процесу (всі пов'язані сценарії можна завантажити та зберегти з будь-яким ім'ям, яке вам зручно):
1) Рішення IEXPRESS можна використовувати навіть на старих машинах win 95/98. Iexpress - це справді стародавній інструмент, який все ще постачається з Windows - як аргументи приймає лише команду та її аргументи.
Приклад використання:
call IEXPhidden.bat "cmd /c myBat.bat" "argument"
2) SCHTASKS - знову приймає лише два аргументи - команду та аргументи. Також перевіряє, чи не запускається він з підвищеними дозволами і, якщо можливо, отримує PID процесу з WEVTUTIL (доступний з Vista та вище, тому новіша версія Windows отримає Команда PID).
Приклад використання:
call SCHPhidden.bat "cmd /c myBat.bat" "argument"
3) 'WScript.Shell' - сценарій є повноцінною обгорткою 'WScript.Shell', і кожен можливий варіант може бути встановлений через параметри командного рядка. Це гібрид jscript / batch і його можна назвати як bat.
Приклад використання (для отримання додаткової інформації надрукуйте довідку з '-h'):
call ShellRunJS.bat "notepad.exe" -style 0 -wait no
4) 'Win32_ProcessStartup' - знову повна обгортка та всі параметри доступні через аргументи командного рядка. Цього разу це WSF / пакетний гібрид з деяким Jscript та деякими фрагментами VBScript, але він повертає PID запущеного процесу. Якщо процес буде Не приховано деякі параметри, такі як координати X / Y, можуть бути використані (не застосовується для всіх виконуваних файлів - але, наприклад, cmd.exe приймає координати).
Приклад використання (для отримання додаткової інформації надрукуйте довідку з '-h'):
call win32process.bat "notepad" -arguments "/A openFile.txt" -showWindows 0 -title "notepad"
5). NET рішення . Більшість опцій ProcessStartInfo використовуються (але наприкінці я був занадто стомлений, щоб включити все):
Приклад використання (для отримання додаткової інформації надрукуйте довідку з '-h'):
call ProcessStartJS.bat "notepad" -arguments "/A openFile.txt" -style Hidden -directory "." -title "notepad" -priority Normal