Запуск CMD или BAT в бесшумном режиме

В C99 вы можете предоставить размеры массива перед его передачей:

 void array_function(int m, int n, float a[m][n])
 {
      for (int i = 0; i < m; i++)
          for (int j = 0; j < n; j++)
              a[i][j] = 0.0;
 }


 void another_function(void)
 {
     float a1[10][20];
     float a2[15][15];
     array_function(10, 20, a1);
     array_function(15, 15, a2);
 }
40
задан Tammen Bruccoleri 4 January 2009 в 16:45
поделиться

2 ответа

Я сделал предложение в вопросе StackOverflow, путь к выполняет пакетный файл в фоновом режиме (, никакие окна DOS не отобразились )

, Который должен ответить на Ваш вопрос.

Здесь это:

<час>

Из Вашего первого сценария, назовите свой второй сценарий со следующей строкой:

wscript.exe invis.vbs run.bat %*

На самом деле, Вы называете vbs сценарий с:

  • [путь] \name Вашего сценария
  • все другие аргументы, необходимые Вашему сценарию (%*)

Затем invis.vbs, назовут Ваш сценарий с Windows Script Host Run () метод , который берет:

  • intWindowStyle: 0 означает "невидимые окна"
  • bWaitOnReturn: ложь означает, что Ваш первый сценарий не должен ожидать Вашего второго сценария для окончания

, Посмотрите вопрос для полного invis.vbs сценария:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """" & WScript.Arguments(0) & """" & sargs, 0, False
                                                         ^
                             means "invisible window" ---| 
<час>

Обновление после обратной связи Tammen:

, Если Вы находитесь на сессии DOS и Вы хотите запустить другой сценарий "в фоновом режиме", простое /b (как детализировано в тот же вышеупомянутый вопрос ) может быть достаточно:

можно использовать start /b second.bat для запуска второго пакетного файла асинхронно от первого, которое совместно использует первое окно.

36
ответ дан Community 4 January 2009 в 16:45
поделиться
  • 1
    +1 для использования пользовательской функции. It' s правильный способ пойти и допускающий повторное использование:) – AlfaTeK 9 April 2010 в 20:48

Включайте фразу

@echo off

прямо наверху Вашего bat сценария.

39
ответ дан Mihai Limbășan 4 January 2009 в 16:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: