Для скрытия консольных окон (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