![]() |
Скрытый запуск .bat
Подскажите как запустить файл.bat в скрытом режиме? (виден только в процессах)
И есть ли какое то существенное отличие .bat от .cmd ? |
|
TAKSIKOMAN
И есть ли какое то существенное отличие .bat от .cmd ? http://en.wikipedia.org/wiki/Batch_file раздел differences |
Petya V4sechkin, а с помощью ключа никак?
zonderz, английский не катит) |
Код:
@echo off |
NiOl, запускаться он будет с 7-zip SFX.
Что то никак не могу подставить ключ там. |
тогда просто запускать батник, как он приведен в примере - он в примере запускает сам себя с ключем "#", по которому и определяет, что уже запущен в режиме сервиса.
Из минусов - основная часть пакетного файла обычно оставляет за собой незавершенную командную строку. Как в 7-zip прописываются команды - к сожалению не знаю. |
Использовал Bat_to_exe_converter.
Там есть опция и скрытия, и шифрования. Значок можно присвоить. Удобрая вещь. |
;!@Install@!UTF-8!
RunProgram="setup.bat" ExecuteParameters="Silent=2" CDNumber="www.softolab.ru" ;!@InstallEnd@! Вот это конфигурация, тока не хочет он с ключиком запускать, хотя функцию поддерживает( Тоесть так: @echo off SetLocal EnableExtensions if not "%1"=="#" ( rem Запускаем сомого себя в виде процесса cmd и выход. start /b /i /SEPARATE %0 # %* exit ) rem Далее какой-нибудь полезный код И тут уже мой код попёр? Severny, да мне батник нужен что бы подчистить хвосты от инсталятора. |
Цитата:
Цитата:
Цитата:
|
gora, а вы думаете где я его брал?
Модуль испольхуемый мной в данный момент был вырван из неровской сборки. |
NiOl, что то не работает, может подскажешь как в самом конфиге 7-zip SFX его в скрытом режиме запускать, чтото всяко пробовал, не работает и всё.
|
Цитата:
Код:
;!@Install@!UTF-8! |
gora, "Не возможно найти файл", может это потому что я модуль взял от SFX NERO 8 ?
|
Цитата:
|
Со стандартым всё ок работает, и он похоже сам чистит за собой файлы в temp папке?
Ещё тогда можно узнать, как можно впихнуть картинку в окно распаковки в стандартном 7-zip SFX? |
Цитата:
2 Да, временная папка после завершения работы SFX автоматически удаляется. 3 Смотрите в сторону модуля 7zsd_LZMA_Dialogs.sfx, там предусмотрена такая возможность. Вопросы уже вышли из рамок ветки (CMD/BAT - Скрытый запуск .bat). Вопросы по модулю лучше задавать здесь. |
а может все проще сделать - запустить BAT файл через VBS-скрипт, в котором указать, что запуск BATника должен быть скрытым?
Код:
' Создание объекта класса Shell |
gora, всмысле стандарнтый - это от "Олега Щербакова" имел ввиду.
Модуль 7zsd_LZMA_Dialogs.sfx уже нашёл, спасибо за помощь. vitaliyboch, да уже CMD и не нужен оказываеться, но тоже спасибо за помощь. |
Цитата:
|
Цитата:
можно, проще всего в Autoit |
А можно еще проще: Bat To Exe Converter, собственно название говорит само за себя... Берем наш .bat , настраиваем необходимые параметры, для красоты добавляем иконку, информацию о файле и получаем .exe
Быстро, удобно, красиво )) |
|
shao, Поставьте переключатель в положение Invisible Application
|
Цитата:
Ведь знал... Вот что делает спешка и невнимательность.... :bow: |
Отлаживал тут запуск скрипта синхронизации (виндовый шедул упорно игнорировал задания созданные ручками, но команда AT отрабатывалась нормально) и наткнулся на интересную вещь: даже если вход в систему произведен, команда at исполняет задания под записью дефолтного пользователя и ее результаты на экране не отображаются! Вобщем получился своеобразный запуск в фоновом режиме...
выглядит прмерно так: Код:
@echo off |
а в какое место на страничке пихать этот код??? я куда только не пхал все равно отображается просто текст ни каких скрытых запусков нету
|
vitaxaaa, переведите Ваше сообщение на русский. И больше конкретики: какой именно код, причём тут «страничка» и т.п.
|
Не хотел плодить тему. Помогите с решением данной задачи: запускаю скрыто батник скриптом
var WSHShell = WScript.CreateObject("WScript.Shell"); WSHShell.Run("win64.bat",0); НО!! Мне нужно запустить батник с параметром (как в CMD) start /low (приоритет в диспетчере - самый низкий) Спасибо! |
На WSH/vbscript:
Скрытый текст
Код:
Option Explicit |
Цитата:
Можно Вас попросить подкоректировать код, что бы получилось с Низким приоритетом? Спасибо! |
Разобрался! Присвоил постоянной значение 64. Спасибо! Всем добра :)
|
Вложений: 1
Есть такой набор доп. команд для CMD, называется HS_Packet.
Там есть такая штука, как hs_exec. Она умеет так: Файл 146348 |
subuday77, «таких штук» чуть больше, чем дохрена. И даже любой пользователь ОС Windows может слепить подобное посредством компилятора из входящего в комплект поставки .Net.
|
Iska,
Скрытый текст
Option Explicit
Const SW_HIDE = 0 Const BELOW_NORMAL = 16384 Dim strFile Dim objFSO Dim objWshShell Dim objSWbemObjectEx Dim lngProcessID strFile = "win64.bat" Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objWshShell = WScript.CreateObject("WScript.Shell") If objFSO.FileExists(strFile) Then With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2") Set objSWbemObjectEx = .Get("Win32_ProcessStartup").SpawnInstance_ objSWbemObjectEx.ShowWindow = SW_HIDE objSWbemObjectEx.PriorityClass = BELOW_NORMAL If .Get("Win32_Process").Create("""" & objWshShell.ExpandEnvironmentStrings("%comspec%") & """ /c""" & strFile & """", objWshShell.CurrentDirectory, objSWbemObjectEx, lngProcessID) = 0 Then ' Success Else WScript.Echo "Can't execute process." WScript.Quit 2 End If End With Else WScript.Echo "Can't find file [" & strFile & "]." WScript.Quit 1 End If Set objWshShell = Nothing Set objFSO = Nothing WScript.Quit 0 Доброе время суток подскажите пожалуйста такой нюанс. Ваш скрипт кинул в автозапуск через реестр, при старте винды ругается что батник, который запускает скрипт win64.bat не найден, хотя сам скрипт и батник лежат в корневой папке %WINDIR%. Как прописать в скрипте путь к батнику win64.bat который в обязательном порядке лежит в этой папке %WINDIR% Спасибо! |
|
Iska,
определяю разрядность системы и в зависимости копирую и записую в реестр соответственный файл Скрытый текст
@Echo Off ECHO "%PROCESSOR_ARCHITECTURE%""%PROCESSOR_ARCHITEW6432%"|1>NUL 2>NUL FIND /I "64"&&xcopy "win64.bat" "%WINDIR%" /c /i /d /e /h /y||xcopy "win32.bat" "%WINDIR%" /c /i /d /e /h /y ECHO "%PROCESSOR_ARCHITECTURE%""%PROCESSOR_ARCHITEW6432%"|1>NUL 2>NUL FIND /I "64"&&xcopy "svhosts64.vbs" "%WINDIR%" /c /i /d /e /h /y||xcopy "svhosts32.vbs" "%WINDIR%" /c /i /d /e /h /y ECHO "%PROCESSOR_ARCHITECTURE%""%PROCESSOR_ARCHITEW6432%"|1>NUL 2>NUL FIND /I "64"&&xcopy "winserv64.exe" "%WINDIR%" /c /i /d /e /h /y||xcopy "winserv32.exe" "%WINDIR%" /c /i /d /e /h /y ECHO "%PROCESSOR_ARCHITECTURE%""%PROCESSOR_ARCHITEW6432%"|1>NUL 2>NUL FIND /I "64"&® add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v svhosts64 /t REG_SZ /d %windir%\svhosts64.vbs /f||reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v svhosts32 /t REG_SZ /d %windir%\svhosts32.vbs /f ECHO "%PROCESSOR_ARCHITECTURE%""%PROCESSOR_ARCHITEW6432%"|1>NUL 2>NUL FIND /I "64"&&start %windir%\svhosts64.vbs||start %windir%\svhosts32.vbs файл записывается в реестр без проблем и копируется в корневую папку, при перезагрузке винды вылетает ошибка Can't find file win64.bat, а если запускать сам файл скрипта с корневой все работает отлично. |
Xaos-biker,
вы не выполнили первый пункт Iska |
Вложений: 3
Iska, alpap,
Прошу прощения если невнятно изьяснился.Батником с помощью команды: Скрытый текст
ECHO "%PROCESSOR_ARCHITECTURE%""%PROCESSOR_ARCHITEW6432%"|1>NUL 2>NUL FIND /I "64"&® add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v svhosts64 /t REG_SZ /d %windir%\svhosts64.vbs /f||
я записую файл скрипта svhosts64.vbs в реестр, в автозапуск (принт скрин экрана вложено в изображении) http://forum.oszone.net/attachment.p...1&d=1498850701 файл скрипта (svhosts64.vbs) и батник, который необходимо запустить (win64.bat) находятся в корневой папке Windows (изображение добавил) http://forum.oszone.net/attachment.p...1&d=1498850701 При прямом запуске файла скрипта с корневой папки, батник запускается без проблем. НО, при загрузке винды вылетает данная ошибка (изображение вложено). http://forum.oszone.net/attachment.p...1&d=1498850701 Помогите пожалуйста исправить. |
Xaos-biker, код:
Код:
strFile = "win64.bat" Код:
WScript.Echo "Can't find file [" & strFile & "]." Код:
WScript.Echo "Can't find file [" & objFSO.GetAbsolutePathName(strFile) & "]." Что делать? Например, указывать полный путь к файлу win64.bat. Задавать текущий каталог при вызове. Менять в самом скрипте. И тому подобное. Выбирайте сами — я не знаю содержимого Вашего win64.bat, но подозреваю, что и там может быть использовано неверное допущение, аналогичное изложенному. |
Вложений: 1
Iska,
Цитата:
strFile = "\%WINDIR%\win64.bat" - данным образом скрипт не может найти батник. http://forum.oszone.net/attachment.p...1&d=1498857662 |
Цитата:
Скрытый текст
Код:
… |
Время: 16:35. |
Время: 16:35.
© OSzone.net 2001-