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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBS/WSH/JS - Вопрос по синтаксису VBScript

Ответить
Настройки темы
VBS/WSH/JS - Вопрос по синтаксису VBScript
dsa dsa вне форума

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


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

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


Имеется рабочий скрипт вида

dim objExecute, break
const command = "cmd /c net view"

Set wshshell = Wscript.CreateObject("Wscript.Shell")

set ObjExecute = wshshell.Exec (command) 'выполняем команду в оболочке cmd

IsBreak = false 'определяем прерывание

Do While IsBreak = False
if (not ObjExecute.StdOut.AtEndOfStream) then
text = text & objExecute.StdOut.ReadAll ' считываем поток выполнения команды
End if
If IsBreak = true then
Exit do
End if
If ObjExecute.Status = 1 then 'Проверяем статус завершения процесса
IsBreak = true
Else
Wscript.Sleep 100
End if
Loop

Wscript.echo text

Вопрос:

Каким образом можно модифицировать константу command для фильтра - выборки (в теории "cmd /c net view | find /i "pc-sale"")
Т.к. при выполнении сценария wsh ругается с кодом ошибки на незавершенную конструкцию в этой строке, - т.е. ему не нравятся дополнительные кавычки в параметрах фильтра
<off> </off>
Куда же их можно удачно внедрить?




Отправлено: 19:58, 03-06-2007

 


Administrator


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

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


Господа, а подскажите мне тоже по синтаксису.
Есть скрипт, выполняющий в принципе элементарные операции - последовательный запуск файла(ов) с различными параметрами, выглядит это примерно так:
Код: Выделить весь код
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ("X:\Folder with file\filename.exe /parameter1 /parameter2 ""Некий текст, который обязан быть в кавычках""")
Все бы неплохо, но вот parameter2 не выполняется так как filename.exe не понимает зачем там столько кавычек, а иначе vbs не понимает зачим их там мало...
Вот тот текст в кавычках является частью параметра2 и не может быть ни в одинарных кавычках ни в каких-то других.
Можно побороть?

-------
FAQ по Windows 10 .::. Настройка Центра обновления в Windows 10 .::. Чистая установка Windows 10 – пошаговая инструкция


Отправлено: 13:00, 11-02-2008 | #11



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

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



Moderator


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

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


Цитата Blast:
Вот тот текст в кавычках является частью параметра2 и не может быть ни в одинарных кавычках ни в каких-то других.
Не понял.
В твоем примере три параметра:
  1. /parameter1
  2. /parameter2
  3. "Некий текст, который обязан быть в кавычках"

Отправлено: 13:58, 11-02-2008 | #12



Administrator


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

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


можно и так сказать, но их нельзя разделить.. как бы это объяснить толком...
нет возможности сначала выполнить параметр1 потом параметр 2, а потом параметр3 разными строками например, все они в одной строке и иначе не работают

-------
FAQ по Windows 10 .::. Настройка Центра обновления в Windows 10 .::. Чистая установка Windows 10 – пошаговая инструкция


Отправлено: 14:06, 11-02-2008 | #13



Moderator


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

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


Blast, sorry, по-прежнему не понимаю.
Я вот использую (для тестирования) твой пример, и он нормально работает. С тремя параметрами. В одной строке.

Хочешь, чтобы было два параметра?
  • /parameter1
  • /parameter2 "Некий текст, который обязан быть в кавычках"
Но это невозможно. Потому что после /parameter2 идет пробел. То есть, возможно, но для этого в самом filename.exe должна быть особая обработка параметров.

Отправлено: 16:16, 11-02-2008 | #14



Administrator


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

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


Ну смотри, все это наверное нужно было сразу на живом примере, тем более, что ты поймешь о чем речь
Код: Выделить весь код
WshShell.Run ("bcdedit.exe /create {ntldr} /d ""Microsoft Windows XP""")
вот оно и не работает, именно добавление описания для загрузчика ntldr и не работает из-за кавычек...

выкрутиться можно, не проблема в принципе, то есть взять да и поставить там вместо 4-5 команд вызов cmd с ними, но мне хотелось минимизировать кол-во файлов и в принципе понять возможна ли нужная мне конструкция в vbs

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

-------
FAQ по Windows 10 .::. Настройка Центра обновления в Windows 10 .::. Чистая установка Windows 10 – пошаговая инструкция


Отправлено: 16:23, 11-02-2008 | #15



Moderator


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

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


Blast, с точки зрения синтаксиса все правильно. В этом легко убедиться, заменив WshShell.Run на MsgBox.
А если так попробовать:
Код: Выделить весь код
WshShell.Run ("%ComSpec% /C bcdedit.exe /create {ntldr} /d ""Microsoft Windows XP""")
Цитата Blast:
взять да и поставить там вместо 4-5 команд вызов cmd с ними
Если команд несколько, почему бы и нет.

Цитата Blast:
Попутно еще хотел бы уточнить как добавить в тот же vbs команду удаления определенной папки с форсированием и без подтверждения удаления
DeleteFolder
Это сообщение посчитали полезным следующие участники:

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



Administrator


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

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


Цитата Petya V4sechkin:
с точки зрения синтаксиса все правильно »
я понимаю, сам же скрипт рабочий, а тут специфика bcdedit
Цитата Petya V4sechkin:
А если так попробовать »
одно и то же.. bcdedit как таковой не воспринимает наличие двух пар кавычек и поэтому не отрабатывает в полной мере...
Цитата Petya V4sechkin:
Если команд несколько, почему бы и нет »
я просто хотел убедиться, что средствами vbs это не сделать, ну нет так нет.. а жаль
Цитата Petya V4sechkin:
DeleteFolder »
ага, оно, спасибо, что поискал за меня

-------
FAQ по Windows 10 .::. Настройка Центра обновления в Windows 10 .::. Чистая установка Windows 10 – пошаговая инструкция


Отправлено: 22:08, 11-02-2008 | #17



Moderator


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

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


Цитата Blast:
bcdedit как таковой не воспринимает наличие двух пар кавычек
При выполнении скрипта они становятся одиночными. Говорю же - замени WshShell.Run на MsgBox.
Хотя это и неважно...

Отправлено: 22:14, 11-02-2008 | #18



Administrator


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

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


Цитата Petya V4sechkin:
При выполнении скрипта они становятся одиночными »
ага, не понял сразу тебя, так будет очень хорошо
Если ты не против, то я позже еще попристаю, появилась идея еще кое-что усовершенствовать.. аппетит растет во время еды

-------
FAQ по Windows 10 .::. Настройка Центра обновления в Windows 10 .::. Чистая установка Windows 10 – пошаговая инструкция


Отправлено: 22:35, 11-02-2008 | #19



Administrator


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

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


А есть ли возможность в vbs на начальном этапе выводить окно с чекбоксами для нужных параметров и выполнять их в соответствии с тем какие чекбоксы были отмечены? Я может плохо искал, но не смог найти как это сделать.

-------
FAQ по Windows 10 .::. Настройка Центра обновления в Windows 10 .::. Чистая установка Windows 10 – пошаговая инструкция


Отправлено: 03:21, 12-02-2008 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBS/WSH/JS - Вопрос по синтаксису VBScript

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - VBscript Klinifin Программирование и базы данных 3 16-10-2013 13:26
VBS/WSH/JS - Помогите со скриптом? VBScript voler Программирование и базы данных 7 09-06-2007 15:13
Решено | Вопрос по синтаксису PHP maaxiim Вебмастеру 7 18-04-2006 17:07
*Теория* | Вопросы по синтаксису языка Си. Знак модуля. Hemp Программирование и базы данных 5 31-10-2005 12:47
VBScript DeviL Вебмастеру 2 02-06-2003 10:44




 
Переход