1

Тема: CMD/BAT: Вывести окно msg при запуске bat

Здравствуйте Уважаемые программисты!
Подскажите пожалуйста, как при запуске пользователем bat-файла сразу свернуть этот bat (чтобы пользователь не видел черный экран) и вывести окно (с кнопкой "ОК" или "Принять"), например, со следующим содержимым: "Сейчас будет выполнена настройка...", и как только пользователь нажимает кнопку "ОК", то команды из bat начинают выполняться?
Заранее спасибо!

2

Re: CMD/BAT: Вывести окно msg при запуске bat

Если без вспомогательных программ, то действия будут примерно следующими:
1) Создаем командный сценарий launcher.cmd, в котором пишем

start /min cmd /c worker.cmd

2) В папке с launcher.cmd создаем командный сценарий worker.cmd, в нем задаем логику вроде следующей

@set @e=0 /*
  @echo off
    set @e=
    cscript //nologo //e:jscript "%~f0"
  exit /b
*/

(function() {
  var code = [
    'res = MsgBox("Произвести настройку сейчас?", vbQuestion+vbOK, "Настройка")',
    'Dim msg',
    'Select Case res',
    'Case vbOk',
    '  msg = "Производится настройка"',
    'Case vbCancel',
    '  msg = "Отмена"',
    'End Select',
    'MsgBox msg, vbInformation, "Настройка"'
  ].join('\n');
  
  with (new ActiveXObject('ScriptControl')) {
    Language = 'VBScript';
    AddCode(code);
  }
}) ();

3) Проверяем на работоспособность запуском launcer.cmd
При необходимости дополнить worker.cmd необходимой логикой (с передачей управления (или без таковой) командному сценарию). Соль, перец - по вкусу.

3

Re: CMD/BAT: Вывести окно msg при запуске bat

Спасибо, попробую сделать!