Вот моя коллекция способов добиться этого - и даже больше - там, где это было возможно, я попытался вернуть также 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, который можно вызывать как летучую мышь.
Пример использования (для получения дополнительной информации распечатайте справку с помощью '-h'):
call ShellRunJS.bat "notepad.exe" -style 0 -wait no
4) Win32_ProcessStartup - снова полная оболочка, и все параметры доступны через аргументы командной строки. На этот раз это гибрид WSF / batch с некоторым 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