Вопрос: Запуск пакетного файла полностью скрытым способом


Я ищу способ запустить пакетный файл (.bat) без видимых для пользователя (без окна, без имени панели задач, .etc ..).

Я не хочу использовать какую-то программу для этого, я ищу что-то более чистое. Я нашел решение который использует VBScript, но мне не очень нравится использовать VBS.


111
2017-10-29 12:42


Источник


Ха-ха! Точно нет. Я разрабатываю службу Windows, которая время от времени запускает пакетный файл. - Moayad Mardini
Службы Windows не запускаются в виде пакетных файлов. Они работают как службы. Вам нужно прояснить вопрос - как написано, так и с комментариями, это не имеет смысла для меня. - CarlF
У меня есть служба Windows, которая запускает пакетные файлы. Не то, чтобы служба была пакетным файлом. - Moayad Mardini
На каком языке вы пишете свой сервис? - Hugh Allen
есть hstart тоже. - barlop


Ответы:


Решение 1: 

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

CreateObject («Wscript.Shell»). Запустите «" ""   & WScript.Arguments (0) & "" "", 0,   Ложь

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

wscript.exe   "C: \ Wherever \ invisible.vbs" "C: \ Some   Другое место \ MyBatchFile.bat "

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

CreateObject ("Wscript.Shell"). Запустите ""   & WScript.Arguments (0) & "", 0,   Ложь

Пример: Invisible.vbs "Kill.vbs ME.exe"

Решение 2:

Используйте инструмент командной строки для бесшумного запуска процесса: Тихо, hidecon или hideexec,


92
2017-10-29 16:29



Почему 4 двойных кавычки, не могли бы вы объяснить? - Starx
Что делать, если нам нужно было скрыть программу? - Starx
Синтаксис @Starx VB. & означает конкатенацию строк. Строки заключены в двойные кавычки ("). Последовательные двойные кавычки ("") внутри строковых разделителей означает буквальную двойную кавычку ("). Итак, четыре двойные кавычки ("""") будет строковым литералом одного символа, двойной кавычкой ("). Поместите это вместе и """" & WScript.Arguments(0) & """" станет "<argument>", где <argument> это первый аргумент командной строки, переданный скрипту. - Bob
Как изменить его, чтобы он прошел все аргументы? Было бы удобнее передавать аргументы, не цитируя их. - Ctrl-C
Разве это не требует от вас создания пакетного файла для wscript.exe "C:\Wherever\invisible.vbs" ... Внутри? - endolith


Скрыть пакетные файлы или командные файлы или любые файлы .... Использовать Windows XP, встроенный IExpress.exe утилиту для создания .EXE из командного файла. Когда используешь IExpress убедитесь, что вы проверили скрытую опцию запуска и отметьте все поля, в которых ничего не отображается. После того, как вы создадите свой .exe, поместите его в любую папку команд запуска, которую вы выберете, и вы никогда не увидите, как она появилась.


23
2018-06-29 21:06



О, хорошее решение на самом деле. - Camilo Martin
есть ли что-то эквивалентное lexpress.exe в новых версиях Windows, таких как windows 7? - Sнаđошƒаӽ
@ Snađошƒаӽ Это в Windows 7 .... просто протестировал его - DarthRubik
@DarthRubik Спасибо, что поделились этим. Я тоже тестировал его, и он отлично работает. Время, чтобы поддержать ответ. :) - Sнаđошƒаӽ
Это, похоже, не работает на Windows 10 64, поскольку «Command.com» больше не кажется присутствующим - Arne S


использование Cmdow это утилита командной строки Win32 для NT4 / 2000 / XP / 2003, которая позволяет перечислять, перемещать, изменять размер, переименовывать, скрывать / скрывать, отключать / включать, сворачивать, увеличивать, восстанавливать, активировать / инактивировать, закрывать, убивать и многое другое.

Запустите пакетный файл, скрытый передачей его параметров: -

cmdow / run / hid mybat arg1 "arg 2"


8
2017-10-29 12:48



Но как я могу запустить эту команду? - Moayad Mardini
cmdow обнаруживается как вредоносное ПО большинством антивирусных продуктов. Следовательно, было бы трудно использовать это решение в местах, отличных от вашего собственного ПК. - Ganesh R.
@Ganesh: Лучшее решение? - Moayad Mardini
Это открытый источник? Нет смысла использовать стороннее приложение, которое не является открытым исходным кодом, и может собирать трояны, когда вы можете сделать то же самое, выполнив 1 строку vbscript harrymc (см. Ответ в верхней части потока). - thebunnyrules
Ну, это с открытым исходным кодом, так что это довольно здорово. Вы можете получить исходный код здесь: github.com/ritchielawrence/cmdow - thebunnyrules


Запускайте скрипт через задание, не делая его интерактивным:

at 11:00 script.bat

Другое решение, если вы не возражаете установить что-то вроде Python, вы можете просто создать скрипт и запустить его с помощью pythonw (связанная версия для операций с графическим интерфейсом). Поскольку вы не используете графические API-интерфейсы, окно не будет отображаться. Просто используйте вызовы os.system() и он будет имитировать пакетный скрипт, поскольку он аналогичен вводу строк в командную строку.

Пример:

import os

os.system("tasklist > C:\tasks.txt")
os.system("ipconfig /all > C:\netinfo.log")

6
2017-10-29 12:49



Но как я могу запустить эту команду? - Moayad Mardini
Вам придется либо планировать запланированное задание, либо писать службу. - Unfundednut
добавлены примеры. - John T


Используя Windows7, вы можете использовать панель управления «Запланированная задача», чтобы запланировать пакетный файл, который будет незаметно выполняться в фоновом режиме с указанными разрешениями и даже как учетная запись «СИСТЕМА». Смотрите скриншот ниже:

enter image description here 

Кроме того, хотя и не так много возможностей, вы также можете создать задачу невидимого пакетного скрипта, как это из командной строки, используя команду «AT.exe» без опции «/ interactive».


6
2018-01-09 20:57



Скрытый флажок скрывает задачу от пользовательского интерфейса планировщика заданий ( - Sourav Ghosh


Если ваш пакетный файл может вписываться в одну строку и так много символов, просто используйте ярлык, щелкнув правой кнопкой мыши внутри папки, помещенной в случайный каталог, и пропустите оставшуюся часть мастера и, наконец, щелкните правой кнопкой мыши только что созданную комбинацию и нажмите «Свойства клика» и «Цель», введите то, что вы обычно помещаете в файл bat. И Бобс твой дядя!

Плюсы:

 No Command Window
 Ability to use an icon
 Same Functionality of bat file

Минусы:

 Limited to one line, so many characters

6
2018-01-13 03:36



отличный ответ, для меня - johny why
Единственная проблема заключается в том, что вы не можете связать тип файла с ярлыком. Поэтому, если вы хотите открыть пакетный скрипт, дважды щелкнув по нему в проводнике, вам все равно нужен .bat-файл. - Björn Lindqvist
Я все еще пытаюсь найти дядю Боба, здесь где-то здесь! - Pimp Juice IT


Вы можете легко запустить его.

start /MIN batch.cmd

4
2017-10-29 15:54



или используйте / B вместо этого! - rany


Кажется, что кто-то составил список 7-8 способов запустить «тихий»:

http://forums.techguy.org/dos-other/644932-solved-howto-run-batch-file.html


3
2018-01-26 19:38



Пожалуйста, перечислите их здесь, не отправляйте ответ, это только ссылка в другом месте. - endolith