Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как скрыть консольное окно?

Ответить
Настройки темы
CMD/BAT - [решено] Как скрыть консольное окно?

Аватара для 7human7

Старожил


Сообщения: 483
Благодарности: 1


Конфигурация

Профиль | Отправить PM | Цитировать


как запускать cmd, чтобы командной строки не было? (не echo off)
cmd-шник на удаление всех файлов с опр. папки?

Отправлено: 20:04, 08-02-2009

 

Новый участник


Сообщения: 42
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Можно. »
ПодЕлитесь опытом?

Цитата Iska:
Можно. »
Вы не про скрипт?))

vbs
Set WshShell = CreateObject("WScript.Shell")

WshShell.Run chr(34) & "C:\ваш_файл.bat" & Chr(34), 0

Set WshShell = Nothing


В приципе да, вариант хороший.

Но мне в своё время этот вариант не подошёл, было это связано с тем что не у всех стоял WScript\CScript и ставить это добро тоже было не вариант. Не моя прерогатива была.

Последний раз редактировалось Deminart, 01-11-2016 в 08:29.


Отправлено: 07:25, 01-11-2016 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Deminart:
Надеюсь Вы не про скрипт?)) »
Именно про него. Можно и одной строкой:
Код: Выделить весь код
WScript.CreateObject("WScript.Shell").Run """%comspec%"" /c ""C:\ваш_файл.bat""", 0, False
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:16, 01-11-2016 | #22


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Iska,
а как записать с передачей параметром, как в Autoit
Код: Выделить весь код
ShellExecute($CmdLine[1],'','','',@SW_HIDE)
не силен пока в VBS.

Отправлено: 15:33, 01-11-2016 | #23


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


alpap, тут параметры идут вместе с командной строкой. В примере выше:
Код: Выделить весь код
WScript.CreateObject("WScript.Shell").Run """%comspec%"" /c ""C:\ваш_файл.bat""", 0, False
красным обозначено приложение, а синим — параметры. Т.е., это одна строка.

В качестве рабочего каталога, если мне не изменяет память (лень сейчас проверять) используется текущий каталог текущего диска (читать/менять/назначать — WshShell.CurrentDirectory).

Отправлено: 19:20, 01-11-2016 | #24


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Iska,
т.е., если я пишу в "hide.bat" строку:
Код: Выделить весь код
WScript.CreateObject("WScript.Shell").Run """%comspec%"" /c ""%~1""", 0, False
компилирую его в "hide.exe"
и теперь могу запускать так: "hide.exe" "C:\ваш_файл.bat"?

Отправлено: 01:11, 02-11-2016 | #25


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата alpap:
т.е., если я пишу в "hide.bat" строку: »
…то попытка исполнения hide.bat завершится с ошибкой, поскольку приведённая строка — это VBScript WSH, и командный процессор не сможет её исполнить.

Отправлено: 07:44, 02-11-2016 | #26


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Цитата Iska:
поскольку приведённая строка — это VBScript WSH »
вот
поэтому я и спрашивал, как записать строку в "hide.vbs":
Код: Выделить весь код
WScript.CreateObject("WScript.Shell").Run """%comspec%"" /c ""Чтобы тут был параметр, понятный vbs""", 0, False
чтобы использовать потом конструкцию: "hide.vbs" "C:\ваш_файл.bat".

Отправлено: 15:40, 02-11-2016 | #27


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата alpap:
поэтому я и спрашивал, как записать строку в "hide.vbs": »
Нет, Вы ранее писали про hide.bat, а не hide.vbs.

Цитата alpap:
чтобы использовать потом конструкцию: "hide.vbs" "C:\ваш_файл.bat". »
Если без каких-либо проверок — примерно так (не проверялось):
Код: Выделить весь код
WScript.CreateObject("WScript.Shell").Run """%comspec%"" /c """ & WScript.Arguments.Item(0) & """", 0, False
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:30, 02-11-2016 | #28


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Цитата Iska:
примерно так »
Да, так работает как надо. Спасибо!

Отправлено: 19:55, 02-11-2016 | #29


Аватара для PavelSES

Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Может кому пригодится, ещё одна утилита для скрытного запуска: autobat.zip

readme.txt:
Программа принимает на вход данные:
"Name" - Имя запускаемого приложения/файла
"Folder" - Директорию файла
"Povtor" - Псевдобесконечный цикличный запуск с интервалом
"TimeMin"- Время между повторениями в минутах: ВНИМАНИЕ! Указывать только целочисленные значения

Отправлено: 10:26, 28-03-2018 | #30



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как скрыть консольное окно?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Система - Как скрыть окно в котором выполняется пакетный файл (*.bat или *.cmd)? Shaytan Программное обеспечение Windows 36 21-12-2021 14:57
C/C++ - [решено] Консольное приложение котвася Программирование и базы данных 9 15-10-2009 07:31
Скрыть всплывающее окно ... FlatX007 AutoIt 9 30-05-2009 22:32
Доступ - [решено] Как скрыть Дисковод А Drix Microsoft Windows Vista 22 30-04-2008 19:03
Скрыть окно Hard Программирование и базы данных 4 27-09-2002 09:14




 
Переход