1

Я хочу запустить (запустить) три программы в окнах, и все они в фоновом режиме, т.е. без окон.

Я нашел два способа (оба с помощью сценария VB, чтобы скрыть летучую мышь)

Установите WshShell = WScript.CreateObject("WScript.Shell ") obj = WshShell.Выполнить ("H:\test.bat", 0) set WshShell = Nothing http://answers.yahoo.com/question/index?qid=20071011212557AAofTy6)

И еще один здесь, на SU:

Сохраните эту одну строку текста как файл invisible.vbs:

CreateObject("Wscript.Ракушка").Запустите "" "" & WScript.Аргументы (0) & "" "", 0, False

Чтобы незаметно запустить любую программу или командный файл, используйте его следующим образом:

wscript.exe "C:\Wherever\invisible.vbs" "C:\ Некоторые другие места \ MyBatchFile.bat"

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

CreateObject("Wscript.Ракушка").Запустите "" & WScript.Аргументы (0) & "", 0, Ложь

Пример: Invisible.vbs "Kill.vbs ME.exe" Источник: https://superuser.com/a/62646/301368

То, что я хочу сделать, это открыть несколько программ и все они в фоновом режиме, но когда я использую это, я должен запустить каждую из них в отдельности.

Если бы я был в Linux, это было бы легко:

#!/bin/bash
./program1 -args &
./program2 -args &
./program3 -args &

Как добиться этого в Windows? (Я использую 8.1), но я предполагаю, что он может быть достаточно общим для других версий.

(Я принимаю любые решения VBS / C / BAT / все остальное работает)

1 ответ1

2

Просто используйте Wscript.Ракушка.Запустите метод много раз и убедитесь, что вы не ожидаете возврата (установите 3-е значение в false).

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "program1.exe", 0, False
WshShell.Run "program2.exe", 0, False
WshShell.Run "program3.exe", 0, False

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .