Запустить пакетный файл в фоновом режиме - PullRequest
6 голосов
/ 12 января 2011

У меня есть командный файл, этот командный файл не запустится автоматически, он будет работать только тогда, когда я дважды нажму на него. Можно ли запускать пакетный файл в фоновом режиме, если дважды щелкнуть по нему.

Ответы [ 4 ]

7 голосов
/ 12 января 2011

Ну, вы можете начать его свернутым с start, если этого достаточно. На самом деле скрыть это сложно (хотя я могу придумать вариант прямо сейчас).

По сути, вам нужно определить, был ли пакет запущен, дважды щелкнув по нему. Вы можете сделать это, определив специальную переменную и поищите ее:

@echo off
if not defined FOO (
  set FOO=1
  start /min "" %~0
  exit /b
)

rem here whatever you wanted to do originally in the batch

Пока переменная FOO не определена (что, вероятно, является значением по умолчанию почти везде), этот пакет снова будет самопроизвольно свернут, но с переменной, определенной первой. Среды передаются подпроцессам, поэтому это работает.

1 голос
/ 21 марта 2016

@ Ghyath Serhal Я использовал cmdow , чтобы сделать это в другой программе, это внешнее приложение, которое можно использовать для изменения командной строки.Чтобы использовать его, вам нужно будет либо ввести этот код (см. Ниже) в его собственный пакетный файл, либо в командную строку, где он запустит «BatchFile.bat» со скрытым окном терминала.Я не нашел способа использовать это в одном пакетном файле, но я узнал об этом только сегодня.

cmdow /run /hid 'BatchFile.bat'

Надеюсь, это поможет.

1 голос
/ 12 января 2011

Как только вы щелкаете или вкладываете из окна cmd.exe, в котором запускается пакетный файл, оно «в фоновом режиме» - я не совсем уверен, что вы хотите, но, похоже, вы спрашиваете, какзапустите пакетный файл без отображения окна cmd.exe.

Если это так, я могу придумать два способа: во-первых, вы можете создать ярлык для пакетного файла, щелкнуть его правой кнопкой мыши и в свойствах установитьсвернутый ярлык для запуска (должен быть выпадающий вариант рядом с Run).

Вы также можете обернуть вызов командного файла в файл VBScript, используя объект оболочки Windows Script Host (, вызывающий метод Run ) для невидимого запуска командного файла.Передача 0 в качестве параметра intWindowStyle подавит отображение окна или чего-либо еще.

1 голос
/ 12 января 2011

вам обычно нужно что-то еще, чтобы запустить скрипт в этой усадьбе то есть Создайте ярлык и установите для поля «Выполнить» ярлык «Свернутый».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...