Скрываем консольные окна
Материал из OSZone.net wiki.
Для скрытия консольных окон (bat и cmd файлов) есть несколько утилит.
Содержание |
Утилита cmdow
Для скрытия консольного окна в пакетном файле должна быть следующая строка:
cmdow @ /HID
Если строка является первой, то окно будет скрыто сразу, но мигнет на долю секунды. Если строка находится в середине, то окно будет скрыто после обработки команд предшествующих cmdow @ /HID.
Скрытие окна - не единственная функция утилиты. Подробнее читайте в Компьютерра-онлайн.
Выполнение отдельной команды
Основано на сообщении amel27 в форуме автоустановки.
Иногда требуется скрыть выполнение отдельной команды и нет возможности (или не хочется) создавать отдельный .bat или .cmd файл(например при динамическом добавлении в ветку реестра RunOnce). В этом случае можно воспользоваться следующим синтаксисом:
CMD /C (<Путь>cmdow @ /HID) & (<Консольная команда>)
CMD /C (%windir%\Bin\cmdow @ /HID)&(7za.exe x -y -aoa Far1705.7z -o"%ProgramFiles%")
Утилита hidcon
В командной строке указывается имя исполняемого файла и его командная строка. Например,
hidcon.exe adduser.cmd username password
запустит в скрытой консоли adduser.cmd передав ему в качестве первого параметра username, в качестве второго - password.
Автор - Oleg_Sch. Скачать утилиту можно отсюда или по прямой ссылке.
Утилита hidec
Сходна с hidcon.
hidec.exe [/W] <path>\batch.cmd
Ключ /W (не чувствителен к регистру) заставляет дожидаться окончания отработки пакетного файла. Например,
hidec.exe /W %systemdrive%\install\prepare.cmd hidec.exe %systemdrive%\install\cleanup.cmd
скрытно запустит prepare.cmd, дождется окончания его отработки и запустит cleanup.cmd.
Обсуждение утилиты на OSZone (авторы там же ;-).
Скачать утилиту
.
Vadikan 22:58, 20 сентября 2006 (MSD)
Утилита Nircmd
nircmd.exe execmd [command]
где [command] - консольная команда, в том числе и командный файл (фактически происходит запуск %comspec% /c [command] в скрытой консоли).
Примеры
nircmd.exe execmd md с:\temp\folder01 nircmd.exe execmd сacls.exe c:\temp > c:\cacls.txt nircmd.exe execmd "%ProgramFiles%\My Scripts\Rescan Devices.cmd"
