Voodoo с пакетными файлами DOS - PullRequest
1 голос
/ 13 августа 2011

Я создал простой batch file, который запускает мой *. Msi установщик в нашей компании, создает файл журнала процесса, а затем отображает файл журнала после завершения установки.

installAndLog.bat:

msiexec.exe /i "\\FileServer2\setup.msi" /l*v "C:\setupLog.txt"
"C:\setupLog.txt"

Работает, но есть два (2) глюка, которые меня раздражают:

  • ЧерныйКонсольное окно показывает в фоновом режиме все время, пока работает программа установки и отображается файл журнала. В1: Как это скрыть?

и

  • Панель консоли не закроется, пока файл журнала больше не просматривается (т.е.notepad.exe закрыт). Q2: Могу ли я вызвать текстовый файл в новом процессе и просто выйти?

Я был любителем DOS, но это было слишком много лет назад.

Ответы [ 4 ]

3 голосов
/ 13 августа 2011

Я не думаю, что вы можете скрыть окно консоли при запуске командного файла.Однако вместо этого вы можете использовать vbscript, который по умолчанию не создаст консольное окно.

Возьмите приведенное ниже и поместите его в файл с расширением .vbs:

Dim wshShell
Set wshShell = CreateObject("WScript.Shell")

wshShell.Run "msiexec.exe /i ""\\FileServer2\setup.msi"" /l*v ""C:\setupLog.txt""", 1, true
wshShell.Run "C:\setupLog.txt"

Все двойные двойныездесь есть кавычки, потому что вся команда должна быть заключена в «» и удваивать их, чтобы избежать их. Документация для WshShell.Run для получения дополнительной информации.

3 голосов
/ 13 августа 2011

Q1 - AFAIK, вы не можете скрыть окно консоли .

Q2 - Используйте команду start. Это запустит указанную программу (блокнот) вне оболочки. Это также предотвратит ожидание оболочки до закрытия приложения для продолжения обработки пакетного сценария.

Возможно, лучше изменить пакетный скрипт для запуска установщика MSI с помощью команды start и иметь блокнот запуска установщика для просмотра файла журнала после завершения установки.

1 голос
/ 07 февраля 2012

Если вы действительно хотите убрать эти окна, вам нужно переключиться на что-то другое. Одной простой альтернативой может быть один из языков сценариев, поддерживаемых хостом сценариев Windows. Или вы попробуйте HTA (HTML-приложения), см. здесь и здесь .

0 голосов
/ 22 февраля 2012

Запустите скрипт dos от имени другого пользователя по расписанию или в качестве службы.

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