Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 23.05.2019
Сообщений: 28

Подскажите как правильно отправлять команды в CMD.EXE из скриптов VBS

19.01.2020, 09:53. Показов 3329. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всех приветствую! Начал изучать VBS в целях автоматизации различных процессов на компьютере
В данный момент стоит такая задача - пропинговать некий IP в инете - если пингуется значит инет работает
Потом - пропинговать некое доменное имя в инете - если пингуется значит DNS норм работает
Уже какие только варианты не пробовал, но в все они сводятся к созданию обьекта WScript.CreateObject("WScript.Shell")
и использованию его методов Exec или Run, других способов в VBSе невижу

Пробовал:
Set WshShell = CreateObject("WScript.Shell")
set WshExec = WshShell.Exec ( "cmd /k ping 8.8.8.8") - Этот вариант никому нерекомендую пробовать - начинает бесконечно открываться и закрываться окно CMD без всяких результатов, спасает только перезагрузка


Set WshShell = CreateObject("WScript.Shell")
set WshExec = WshShell.Exec ( "cmd /с ping 8.8.8.8") - Уже лучше - окно открывается только один раз - но опять же безрезультатно - в нем ничего не выполняется и никаких результатов не выдается

Set WshShell = CreateObject("WScript.Shell")
WshShell.run ( "cmd /c ping 8.8.8.8", 1 ,true) - открывается окно CMD в него подается команда ping 8.8.8.8 но она не выполняется вслед за ней
опять появляется приглашение для ввода C:\> в него опять подается команда ping 8.8.8.8 и все повторяется



Причем что если выполнить даже просто открытие notepad
Set WshShell = CreateObject("WScript.Shell")
set WshExec = WshShell.Exec ( "notepad")
или
Set WshShell = CreateObject("WScript.Shell")
WshShell.run ( "notepad", 1 ,true)

То блокнот открывается без проблем

Так как выполнить мою задачу в VBSе - подскажите пожалуйста
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.01.2020, 09:53
Ответы с готовыми решениями:

Получение данных из cmd и vbs скриптов
Здравствуйте! Подскажите как передать в программу то что вывел cmd или vbs скрипт, или хотя бы передать в файл

Функция передачи команды в cmd.exe
Добрый день/вечер/утро, товарищи программисты! Мне бы хотелось написать программу (точнее, жалкое её подобие), которая бы открывала...

Отправка команды в открытую cmd.exe
Здравствуйте, необходимо отправить в ЗАРАНЕЕ ОТКРЫТУЮ кмд команду. если вообще возможно. Добавлено через 27 минут Актуально, не могу...

3
6981 / 2873 / 1104
Регистрация: 06.06.2017
Сообщений: 9,752
19.01.2020, 10:05
Узнать есть ли интернет на удаленных компьютерах в сети
0
1386 / 842 / 91
Регистрация: 08.02.2017
Сообщений: 3,588
Записей в блоге: 1
26.01.2020, 19:59
Сам недавно изучил этот вопрос, оказывается все довольно не мудрено можно сделать
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
str=CreateObject("WScript.Shell").exec("cmd /c ping 8.8.8.8").stdout.readall
 
msgbox strConv(str,"ibm866","windows-1251")
 
Function StrConv(Text,SourceCharset,DestCharset)
  Set Stream=CreateObject("ADODB.Stream")
  Stream.Type=2
  Stream.Mode=3
  Stream.Open
  Stream.Charset=DestCharset
  Stream.WriteText Text
  Stream.Position=0
  Stream.Charset=SourceCharset
  StrConv=Stream.ReadText
 End Function
Какие-то программы или фильтры (findstr например) поддерживают конвертацию из dos кодировки и можно сделать так
Visual Basic
1
str=CreateObject("WScript.Shell").exec("cmd /c >nul chcp 1251 &&tasklist").stdout.readall
Добавлено через 8 минут
Если просто запустить. Можно еще как-то с ожиданием завершения и возвратом кода ошибки.. В нете все есть.
Visual Basic
1
CreateObject("WScript.Shell").run("cmd /k ping 8.8.8.8")
0
6981 / 2873 / 1104
Регистрация: 06.06.2017
Сообщений: 9,752
26.01.2020, 22:43
Цитата Сообщение от testuser2 Посмотреть сообщение
изучил этот вопрос
Можно еще как-то
Так изучил или "как-то"?
Visual Basic
1
2
If CreateObject("WScript.Shell").Run("ping 8.8.8.8 -n 1", 0, 1) = 0 Then _
MsgBox "Есть", 4160 Else MsgBox "Нет", 4144
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.01.2020, 22:43
Помогаю со студенческими работами здесь

Создание бинарного файла из vbs / Как создать exe файл из vbs
Имеется файл с расширением exe. Нужно как-нибудь занести массив байт в скрипт, и чтоб потом этот файл создавался при запуске vbs

Cmd.exe не выполняет команды, если они заключены в одинарные кавычки
cmd.exe в windows не понимает и не выполняет команды, если они заключены в одинарные кавычки. Например: cmd.exe /c...

Каким образом можно запустить cmd.exe и выполнить в ней некоторые команды?
Всем привет! Каким образом можно в c# запустить cmd.exe и выполнить в ней некоторые команды?

Запуск программ, батников и vbs скриптов на Делфи - как?
Привет Как на делфи запустить программу, батник и vbs скрипт, зная директорию ее расположени + в директории будет переменная среда...

ICS - Как отправлять команды с WsocketServer
кто нибудь пользовался этой библиотекой?хотел создать промежуточный сервер ,как отправлять команды с WsocketServer `а не очень разбираюсь с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru