На этот вопрос уже есть ответ здесь:
В Windows XP можно ли запустить пакетный файл (.bat или .cmd) через ярлык без «черного окна»?
На этот вопрос уже есть ответ здесь:
В Windows XP можно ли запустить пакетный файл (.bat или .cmd) через ярлык без «черного окна»?
Ответы:
Сохраните следующее как wscript, например, hidecmd.vbs после замены «testing.bat» именем вашего пакетного файла.
Второй параметр
oShell.Run
- этоintWindowStyle
значение, указывающее внешний вид окна программы, а нулевое значение - для скрытого окна.Ссылка здесь http://msdn.microsoft.com/en-us/library/d5fk67ky.aspx
источник
.bat
файл от имени администратора с помощью этого метода?Это просто упрощение ответа Шаджи. Вы можете запустить свой пакетный скрипт через скрипт VBScript (.vbs) следующим образом:
Это выполнит ваш командный файл без показанного командного окна.
источник
.bat
файл от имени администратора, используя этот метод?Просто чтобы развернуть ответы «Использовать сценарии Windows» (которые я считаю лучше всего, потому что они уже встроены), вот как это сделать, используя один скрипт-обертку и передавая имя «реального» пакетного файла в качестве параметра. Дополнительные параметры будут переданы в командный файл.
Так, например, сохраните указанный выше файл как-
NoShell.vbs
нибудь, затем вызовите:Наконец, если вы хотите запустить это откуда-то, которое не понимает файл .vbs (например, «Внешние инструменты» в Visual Studio), вы захотите вызвать
C:\Windows\System32\wscript.exe
файл vbs в качестве первого параметра и ваш командный файл как второй.источник
"C:\My Files\HideCmd.vbs" c:\foo\my_batch_file.bat
."C:\My Files\HideCmd.vbs" c:\my things\my_batch_file.bat
. Неважно, что я пытаюсь найти для пути - двойные кавычки вокруг всего этого,% 20 вместо пробела или комбинация этих двух, ничего не работает. Я получаю сообщение об ошибке, сообщающее, что файл не найден или ничего не происходит. Это из-за ошибки пользователя с моей стороны, ограничения Windows с полем Target для ярлыков или проблемы со скриптом vbs, в котором он не обрабатывает пути к файлам с пробелами должным образом?Вы можете изменить свойства ярлыка для запуска свернутым.
Чтобы запустить его полностью незаметно, вам понадобится что-то еще, например Windows Scripting.
источник
Используйте начало с опции '/ B'. Например:
источник
start /b
просто запустит программу в выделенной в данный момент консоли вместо того, чтобы создавать новую. В любом случае вы получите новый, так как пакет должен работать с cmd (который, в свою очередь, [сюрприз] открывает консоль).SYSTEM
в C / C ++).cmd /c foo.cmd
. Нет абсолютно никакой необходимости использоватьstart
в этих сценариях, и я бы сказал, чтоsystem
не следует использовать в пользуCreateProcess
. Запуская пакетный файл, вы уже зависите от одной платформы, вы также можете использовать лучшие инструменты для этой работы.cmd /c
раньше. Команда cmd - это то, что мне было нужно в моем случае, но все ответы на стек, которые я нашел до сих пор, о командном файле, на котором запущен другой командный файл, имеют лучшие ответы для использования start ...start /b go.bat
не будет выделять новую консоль (т. е. экземпляр conhost.exe - или поток в csrss.exe до Windows 7). Однако это приведет к путанице, поскольку пакетный скрипт запускается с новым экземпляром cmd.exe, который подключен к той же консоли . Оба экземпляра оболочки будут конкурировать за чтение ввода с консоли, как правило, поочередно. Это нужно/w
(напримерstart /b /w go.bat
) для того, чтобы ждать второго экземпляра, что похоже на использованиеcmd /c
при использованииsystem
. Кроме того, если вы звонитеCreateProcess
, бегитеgo.bat
напрямую. Там нет необходимостиcmd /c
.Бесплатный GPL с открытым исходным кодом "Создать скрытый процесс"
http://www.commandline.co.uk/chp/
Microsoft Security Essentials и, возможно, большинство других сканеров вирусов и вредоносных программ будут относиться к исполняемому файлу chp.exe как к вирусу, поскольку он скрывает любую указанную программу от отображения окна или кнопки панели задач, как это делают вирусы.
Это не вирус. Например, не скрывает целевой процесс от появления в диспетчере задач. И, конечно, исходный код включен, так что вы можете видеть, что он очень маленький и ничего не делает, кроме запуска любой программы, которую вы ему даете.
Вы даже не должны верить, что включенный chp.exe действительно был собран из этого источника. Вы можете отказаться от прилагаемого chp.exe и скомпилировать свой собственный из исходного кода, и все необходимые инструменты для этого даже бесплатны и загружаемы.
Вы также можете просто создать ярлык для файла .bat или .cmd, затем щелкнуть правой кнопкой мыши ярлык, Свойства, вкладку Ярлык, Выполнить: свернуто. Затем в запланированных задачах используйте ярлык вместо файла .bat / .cmd напрямую. Это предотвратит появление окна, но кнопка панели задач все равно появится.
источник
Вы можете использовать сценарии окна, такие как AutoIt .
Например, просто напишите это в редактор сценариев AutoIt. Это довольно просто
Если вы хотите запустить его в цикле,
Скомпилируйте его как .exe - и все готово.
Аналогично, в AutoHotkey :
источник
Используйте скрытый старт (стоит $ 20)
источник
Простое решение, без использования каких-либо дополнительных программ.
Удачи!
источник