В Windows XP можно ли запустить пакетный файл (.bat или .cmd) через ярлык без "черного окна"?
9 ответов
Сохраните следующее как wscript, например, hidecmd.vbs после замены «testing.bat» именем вашего пакетного файла.
Set oShell = CreateObject ("Wscript.Shell")
Dim strArgs
strArgs = "cmd /c testing.bat"
oShell.Run strArgs, 0, false
Второй параметр oShell.Run
- значение intWindowStyle
указывающее внешний вид окна программы, а нулевое значение - для скрытого окна.
Ссылка здесь http://msdn.microsoft.com/en-us/library/d5fk67ky.aspx
Это просто упрощение ответа Шаджи. Вы можете запустить свой пакетный скрипт через скрипт VBScript (.vbs) следующим образом:
'HideBat.vbs
CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True
Это выполнит ваш командный файл без показанного командного окна.
Просто чтобы расширить ответы "Использовать сценарии Windows" (что я считаю лучшим, потому что он уже встроен), вот как это сделать, используя один скрипт-обертку и передавая имя "реального" пакетного файла в качестве параметра. Дополнительные параметры будут переданы в командный файл.
If WScript.Arguments.Count >= 1 Then
ReDim arr(WScript.Arguments.Count-1)
For i = 0 To WScript.Arguments.Count-1
Arg = WScript.Arguments(i)
If InStr(Arg, " ") > 0 Then Arg = """" & Arg & """"
arr(i) = Arg
Next
RunCmd = Join(arr)
CreateObject("Wscript.Shell").Run RunCmd, 0, True
End If
Так, например, сохраните указанный выше файл как NoShell.vbs
где-нибудь, затем вызовите:
NoShell.vbs c:\foo\my_batch_file.bat
Наконец, если вы хотите запустить это откуда-то, которое не понимает файл .vbs (например, "Внешние инструменты" в Visual Studio), вам нужно вызвать C:\Windows\System32\wscript.exe
с файлом VBS в качестве первого параметра и с командным файлом в качестве второго.
Вы можете изменить свойства ярлыка, чтобы запуск был свернут.
Чтобы запустить его полностью незаметно, вам понадобится что-то еще, например Windows Scripting.
Используйте начало с опции '/B'. Например:
@echo off
start /B go.bat
Бесплатный GPL с открытым исходным кодом "Создать скрытый процесс"
http://www.commandline.co.uk/chp/
Microsoft Security Essentials и, возможно, большинство других сканеров вирусов и вредоносных программ будут относиться к исполняемому файлу chp.exe как к вирусу, поскольку он скрывает любую указанную вами программу от отображения окна или кнопки панели задач, как это делают вирусы.
Это не вирус. Например, не скрывает целевой процесс от появления в диспетчере задач. И, конечно, исходный код включен, так что вы можете видеть, что он очень маленький и ничего не делает, кроме запуска любой программы, которую вы ему даете.
Вы даже не должны верить, что включенный chp.exe действительно был собран из этого источника. Вы можете отказаться от прилагаемого chp.exe и скомпилировать свой собственный из исходного кода, и все необходимые инструменты для этого даже бесплатны и загружаемы.
Вы также можете просто создать ярлык для файла .bat или .cmd, затем щелкнуть правой кнопкой мыши ярлык, Свойства, вкладку Ярлык, Выполнить: свернуто. Затем в запланированных задачах используйте ярлык вместо файла .bat/.cmd напрямую. Это предотвратит появление окна, но кнопка панели задач все равно появится.
Вы можете использовать сценарии окна, такие как AutoIt.
Например, просто напишите это в редактор скриптов AutoIt. Это довольно просто
Run("C:\test\batchfile.bat", "", @SW_HIDE)
Если вы хотите запустить его в цикле,
$x=0
Do
Run("C:\test\batchfile.bat", "", @SW_HIDE)
Sleep(5000)
Until $x = 1
Скомпилируйте его как .exe - и все готово.
Аналогично, в AutoHotkey:
#NoTrayIcon ; To prevent momentary icon pop-up
run whatever.bat arg1 arg2,,hide
Используйте скрытый старт (стоит $ 20)
Скрытый запуск - запуск приложений и пакетных файлов без консольного окна или запроса UAC
Консольные приложения и командные файлы регулярно запускаются при запуске Windows или по расписанию. Основным неудобством этого является то, что каждое приложение открывает консольное окно, которое мерцает на экране. Скрытый запуск (или Hstart) - это облегченная утилита командной строки, которая позволяет запускать консольные приложения и пакетные файлы без какого-либо окна в фоновом режиме, обрабатывать повышение привилегий UAC в Windows 7 и Vista, запускать несколько команд параллельно или синхронно и многое другое. ,
Простое решение, без использования каких-либо дополнительных программ.
- Создайте пакетный файл, который вы хотите выполнить, и протестируйте его.
- Creata ярлык для этого!
- Отредактируйте свойства ярлыка: на вкладке «Ярлык» выберите «Запустить свернутый». Задание горячей клавиши для этого и все готово!
Удачи!