VBS/WSH/JS - Вопрос по синтаксису VBScript

Аватара пользователя
dsa

VBS/WSH/JS - Вопрос по синтаксису VBScript

Сообщение dsa »

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



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 ругается с кодом ошибки на незавершенную конструкцию в этой строке, - т.е. ему не нравятся дополнительные кавычки в параметрах фильтра

Изображение

Куда же их можно удачно внедрить? Изображение
Аватара пользователя
amel27

Re: VBS/WSH/JS - Вопрос по синтаксису VBScript

Сообщение amel27 »

dsa



Код:

Код: Выделить всё

const command = "cmd /c net view|find /i ""pc-sale"""
Аватара пользователя
Blast

Re: VBS/WSH/JS - Вопрос по синтаксису VBScript

Сообщение Blast »

Господа, а подскажите мне тоже по синтаксису.

Есть скрипт, выполняющий в принципе элементарные операции - последовательный запуск файла(ов) с различными параметрами, выглядит это примерно так:

Код:

Код: Выделить всё

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ("X:\Folder with file\filename.exe /parameter1 /parameter2 ""Некий текст, который обязан быть в кавычках""")

Все бы неплохо, но вот parameter2 не выполняется так как filename.exe не понимает зачем там столько кавычек, а иначе vbs не понимает зачим их там мало...

Вот тот текст в кавычках является частью параметра2 и не может быть ни в одинарных кавычках ни в каких-то других.

Можно побороть?
Аватара пользователя
Sham

Re: VBS/WSH/JS - Вопрос по синтаксису VBScript

Сообщение Sham »

voler

вероятно у тебя сам текст VBS-скрипта в DOS-кодировке
Аватара пользователя
voler

Re: VBS/WSH/JS - Вопрос по синтаксису VBScript

Сообщение voler »

Еще один трабл с кодировкой, когда Wscript.echo text отрабатывается все символы, что в пишуться на русском отображаются как иероглефы. Может кто водскажет как задать вывод Wscript.echo text в кодировке опеределенной?
Аватара пользователя
voler

Re: VBS/WSH/JS - Вопрос по синтаксису VBScript

Сообщение voler »

voler

вероятно у тебя сам текст VBS-скрипта в DOS-кодировке
Аватара пользователя
amel27

Re: VBS/WSH/JS - Вопрос по синтаксису VBScript

Сообщение amel27 »

Нет ты не понял. Текст скрипта у меня в ansi кодировке. А вот та информация что в консоли выводится, она то и в иероглифах.
Аватара пользователя
amel27

Re: VBS/WSH/JS - Вопрос по синтаксису VBScript

Сообщение amel27 »

voler

у тебя случайно TEXT формируется не внешней CMD-командой?.. она может выводить результат в OEM-кодировке
Аватара пользователя
voler

Re: VBS/WSH/JS - Вопрос по синтаксису VBScript

Сообщение voler »

"NET VIEW" формирует результат в OEM-кодировке, нужно перекодировать в ANSI.

Как вариант:
[Архив - Часть 1.2] AutoIt скрипты




Код:

Код: Выделить всё

NET VEW|dos2win

З.Ы. Кстати, встречал варианты и на VBS, нужно только оформить массив (см. исходник) и вперед. Изображение
Ответить

Вернуться в «Программирование и базы данных»