Я ищу какой-нибудь способ запуска командного файла (.bat) без чего-либо видимого пользователю (без окна, без имени панели задач, .etc ..).
Я не хочу использовать какую-то программу для этого, я ищу что-то более чистое. Я нашел решение, которое использует VBScript, но я также не очень люблю использовать VBScript.
windows
command-line
batch-file
Мояд Мардини
источник
источник
Ответы:
Решение 1:
Сохраните эту одну строку текста как файл
invisible.vbs
:Чтобы запустить любую программу или командный файл незаметно, используйте его следующим образом:
Чтобы также иметь возможность передавать / передавать список аргументов, используйте только две двойные кавычки
Пример:
Invisible.vbs "Kill.vbs ME.exe"
Решение 2:
Используйте инструмент командной строки для автоматического запуска процесса: Quiet , hidecon или hideexec .
источник
&
означает конкатенацию строк. Строки заключены в двойные кавычки ("
). Последовательные двойные кавычки (""
) внутри разделителей строк означают буквальную двойную кавычку ("
). Таким образом, четыре двойных кавычки (""""
) будут строковым литералом одного символа, двойной кавычкой ("
). Сложите это вместе, и"""" & WScript.Arguments(0) & """"
станет"<argument>"
, где<argument>
первый аргумент командной строки передается в сценарий.wscript.exe "C:\Wherever\invisible.vbs" ...
внутри?Чтобы скрыть пакетные файлы или командные файлы или любые файлы .... Используйте встроенную
IExpress.exe
утилиту Windows XP для создания .EXE из пакетного файла. При использованииIExpress
убедитесь, что вы отметили опцию Run hidden и отметили все поля, чтобы ничего не показывать. После того, как вы создадите .exe-файл, поместите его в любую папку команд запуска, которую вы выберете, и вы никогда не увидите, что она появится.источник
использовать Cmdow - это утилита командной строки Win32 для NT4 / 2000 / XP / 2003, которая позволяет перечислять, перемещать, изменять размер, переименовывать, скрывать / скрывать, отключать / включать, минимизировать, максимизировать, восстанавливать, активировать / инактивировать, закрывать, убивать и закрывать окна. Больше.
Запустите скрытый пакетный файл, передав ему параметры: -
источник
Если ваш пакетный файл может уместиться в одну строку и так много символов, просто используйте ярлык, щелкнув правой кнопкой мыши внутри папки, помещенной в случайный каталог, и пропустив оставшуюся часть мастера, и, наконец, щелкните правой кнопкой мыши на только что созданном ярлыке и щелкните свойства и под целевой введите то, что вы обычно помещаете в файл bat. И Бобс твой дядя!
Плюсы:
Минусы:
источник
Запустите скрипт через задание at, не делая его интерактивным:
Другое решение, если вы не возражаете против установки чего-то вроде Python, вы можете просто создать скрипт и запустить его с
pythonw
(связанная версия для операций с графическим интерфейсом). Поскольку вы не используете какие-либо графические API, окно не будет отображаться. Просто используйте вызовы,os.system()
и он будет имитировать пакетный скрипт, так же, как и ввод строк в командной строке.Пример:
источник
Вы можете запустить его легко свернутым.
источник
Используя Windows7, вы можете использовать панель управления «Запланированная задача», чтобы запланировать запуск пакетного файла незаметно в фоновом режиме с указанными разрешениями и даже в качестве учетной записи «SYSTEM». Смотрите скриншот ниже:
Более того, несмотря на не так много возможностей, вы также можете создать задачу невидимого пакетного сценария, подобную этой, из командной строки, используя команду «AT.exe» без опции «/ interactive».
источник
Мне не нравится решение VBScript.
Загрузите и скопируйте файл nircmd.exe в свою
%systemroot%\system32
папку, затем добавьте эту команду в первую строку пакета:или сначала настройте заголовок пакета с помощью
title
команды, чтобы избежать скрытия всехcmd
окон, например:источник
Кажется, кто-то составил список из 7-8 способов запустить «тихий»:
источник
Вы также можете создать скрипт AutoHotkey :
источник
И ДРУГОЙ способ, из C / C ++, это использовать функцию CreateProcess с флагом CREATE_NO_WINDOW. Это имеет много дополнительной мощности, не показанной здесь. Это как минимум тот минимум, который вам необходим для замены system () или семейства _spawn ().
источник
Превосходный Конвертер Bat To Exe конвертирует ваш файл
.bat
или.cmd
файл в.exe
файл.Он имеет простой интерфейс. Вы можете отказаться от использования окна консоли, выбрав опцию «Невидимое приложение». Кроме того, он позволяет назначать значок, упаковывать связанные файлы и некоторые другие параметры.
Вот скриншот главного окна интерфейса:
Обратите внимание, что это изображение устарело. Он показывает версию 2.4.8, и по состоянию на сентябрь 2018 года веб-сайт предлагает версию 3.0.10.0 (последнее обновление 2018-03-23).
Предупреждение: на веб-сайт www.f2ko.de ссылаются
coinhive.com
, что широко определяется как вредоносное ПО .источник
Я сделал это успешно с nircmd следующим образом:
nircmd.exe win hide ititle "cmd.exe"
Теперь у вас будет файл .exe, который после того, как вы нажмете на него и установите, ваш .bat будет полностью скрыт.
источник
источник
'cmdow' is not recognized as an internal or external command, operable program or batch file.
Вам не нужно делать ничего особенного.
Если вы запускаете пакетные файлы из службы Windows, они должны быть скрыты по умолчанию, если вы не включите в службе параметр «Разрешить службе взаимодействовать с рабочим столом».
источник
Создайте свой пакетный сценарий с вашей пакетной логикой и командами в нем, а затем создайте новый файл с
.VBS
расширением, используйте приведенную ниже логику (пример, который я привел ниже) и просто подключите полный путь к вашему файлу.CMD
или.BAT
файлу с помощьюPING -t <IPAddress>
команд и т. Д., Так он выполняет пакет скрытно, не показывая командное окно при его выполнении.Где логика в приведенном ниже примере указывает на
C:\Folder\BatchFileName.cmd
изменение, чтобы оно указывало на пакетный скрипт с вашими командами, которые вы выполняете вручную и т. Д. Сейчас.Сохраните
.VBS
файл и запланируйте его с помощьюTask Scheduler
задач «Планирование задачи» на Windows7 для выполнения в неопределенное время для ваших нужд.В противном случае, просто дважды щелкните по
.VBS
файлу, чтобы запустить бесконечнуюPING
команду, которую вы поместили в командный файл, на который вы указываете при необходимости.ПРИМЕЧАНИЕ. Я полагаю, что именно здесь я получил эту логику сценария, но она надежно работает для той же цели, что и здесь, а именно для обеспечения того, чтобы командное окно было скрыто при запуске командного файла. Источник сбоя сервера
ПРИМЕР VBS SCRIPT RUN КОМАНДНАЯ СТРОКА, ЗАКРЫВАЮЩАЯ ОКНО CMD
источник
Здесь я скомпилировал все известные мне способы запуска скрытого процесса с помощью пакета без внешних инструментов. С готовыми к использованию сценариями (некоторые из них довольно богаты опциями), и все они образуют командную строку. Возвращается PID. Используемые инструменты: IEXPRESS, SCHTASKS, WScript.Shell, Win32_Process и JScript.Net
источник
Несмотря на то, что я уже ответил на это, вот другой подход. Различия здесь в том, что пакетный скрипт может самостоятельно скрывать себя во время своего запуска. Вам понадобятся два дополнительных скрипта - windowMode.bat и getCMDPid.bat (оба содержат
.net
код). Вот как тогда можно использовать:источник
У меня была такая же проблема, но разобрался:
Shell("filehere" & "parametersforbatchfilehere", vbHidden)
источник
Я начал пытаться понять это и никогда не получалось. Это было так близко, как я получил:
источник
Мне нужно было скрыть окно для пакетного файла, вызываемого из контекстного меню проводника, а также добавить кавычки для параметра. Ни один из ответов не сработал для меня, поэтому я добавляю свое собственное решение.
У меня было это в реестре "команда" для контекстного меню проводника:
Таким образом, чтобы заменить его, я должен был создать VBS, как это:
Сохраните в таком месте
C:\mypath\myscript.vbs
и назовите его в реестре следующим образом:Обратите внимание, что путь .bat не может содержать пробелов, поэтому замените его именем файла 8.3. Так, например,
C:\Program Files\myprogram.bat
должны быть ссылки какC:\Progra~1\myprogram.bat
. Для просмотра имени файла 8.3 используйтеdir /x
источник
Я создал RunApp для этой работы, а также использую ее в своей рабочей среде , надеюсь, это поможет.
Конфиг, как показано ниже:
файл: config.arg
И запустить
runapp.exe
вместо.источник
Это работает для Windows 8 (возможно, другие)
нажмите применить
Нажмите на ярлык, и он запустится, но вы его не увидите :)
источник