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

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

Ответить
Настройки темы
VBS/WSH/JS - [решено] Кавычки внутри кавычек в VBS

Аватара для BigBoo

Старожил


Автор проектов


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

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


Возможно вопрос банален, но никак не могу разобраться, как использовать кавычки внутри кавычек в VBS. То есть, например даже элементарная команда
Код: Выделить весь код
msgbox "Меню "Пуск""
выдаёт ошибку. Хочу напечатать именно Меню "Пуск" ,а не Меню Пуск. Так же и с другими командами. Пишу скрипт добавляющий строки в файл и в этих строчках есть кавычки. Был бы признателен за помощь.

Отправлено: 00:31, 15-01-2011

 

Ветеран


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

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


Удваивать:
Код: Выделить весь код
msgbox "Меню ""Пуск"""
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:20, 15-01-2011 | #2



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

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


Аватара для BigBoo

Старожил


Автор проектов


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

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


Спасибо, тема закрыта.

Отправлено: 12:05, 15-01-2011 | #3


Аватара для BigBoo

Старожил


Автор проектов


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

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


В дополнение к теме, запуск приложения со строкой, содержащей путь.
Так не работает, ошибка - файл не найден:
Код: Выделить весь код
WSHShell.Run "C:\Program Files\Internet Explorer\Iexplore.exe www.ya.ru"
А вот так работает:
Код: Выделить весь код
WSHShell.Run """C:\Program Files\Internet Explorer\Iexplore.exe"" www.ya.ru"
Строка запуска заключается в ТРОЙНЫЕ кавычки!

Отправлено: 20:23, 16-01-2011 | #4


Старожил


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

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


Цитата BigBoo:
Строка запуска заключается в ТРОЙНЫЕ кавычки! »
Просто путь C:\Program Files\Internet Explorer\Iexplore.exe содержит пробелы и его, естественно, надо заключать в кавычки, чтобы корректно отработала командная строка. А поскольку этот путь находится внутри строки, то и удваиваются кавычки вокруг этого пути.
Обычный путь - без пробелов, не обязательно заключать в кавычки. Например:
Код: Выделить весь код
WSHShell.Run "C:\Windows\notepad.exe c:\test.txt"
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:57, 17-01-2011 | #5


Аватара для BigBoo

Старожил


Автор проектов


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

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


Цитата SendMessage:
А поскольку этот путь находится внутри строки, то и удваиваются кавычки »
Но ведь такая конструкция не работает:
Код: Выделить весь код
WSHShell.Run ""C:\Program Files\Internet Explorer\Iexplore.exe""
А работает только с ТРОЙНЫМИ кавычками:
Код: Выделить весь код
WSHShell.Run """C:\Program Files\Internet Explorer\Iexplore.exe"""
Честно не знаю, для чего нужно утраивать кавычки, но работает только так!
С путями без пробелов согласен, да это и само собой разумеется.

Отправлено: 14:46, 17-01-2011 | #6


Старожил


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

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


Цитата BigBoo:
Но ведь такая конструкция не работает: »
Потому что, как написал Iska, кавычки, если они находятся внутри текста vbs, а он в нем всегда обрамляется кавычками, должны удваиваться.
В конструкции WSHShell.Run ""C:\Program Files\Internet Explorer\Iexplore.exe"" внешние кавычки относятся не к тексту, а к обрамлению текста. А сам текст такой - "C:\Program Files\Internet Explorer\Iexplore.exe". Но чтобы vbs правильно отображал кавычки в самом тексте - их делают двойными.
Поэтому они и вышли тройными - WSHShell.Run """C:\Program Files\Internet Explorer\Iexplore.exe""" - относящиеся к обрамлению текста я выделил красным, а кавычки текста синим.
Надеюсь, теперь понятно до конца?

Кстати, если в vbs нужно передать, например, текст состоящий из кавычек, вот такой:
Код: Выделить весь код
""
то записать придется так:
Код: Выделить весь код
""""""
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:41, 17-01-2011 | #7


Аватара для BigBoo

Старожил


Автор проектов


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

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


Помогите люди добрые, битый час бьюсь. Сколько только кавычек не ставил - результат нулевой! Как сделать, чтоб это заработало:
Код: Выделить весь код
Set Create = CreateObject("Scripting.FileSystemObject")  
Set Folder = Create.GetFolder(WshShell.CurrentDirectory)  
Str = Folder.Path &"\Папка\Прога.exe"  
WSHShell.Run Str

Последний раз редактировалось BigBoo, 30-01-2011 в 23:36.


Отправлено: 23:28, 30-01-2011 | #8


Пользователь


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

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


Цитата BigBoo:
Помогите люди добрые, битый час бьюсь »
Если, только запустиь прогу, то:
Код: Выделить весь код
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("Полный_путь\прога.exe")
Если нет, то мысль яснее
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:06, 31-01-2011 | #9


Ветеран


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

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


Код: Выделить весь код
Str = Folder.Path &"\Папка\Прога.exe"
WSHShell.Run """" & Str & """"
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:21, 31-01-2011 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - Нестандартные кавычки EN130 Microsoft Windows 2000/XP 5 13-10-2010 15:20
Разное - [решено] Обработка кавычек в семерке pve Microsoft Windows 7 6 28-01-2010 08:03
VBS/WSH/JS - Помогите редактировать Autorun_Disable.vbs на Autorun_Enable.vbs nod201 Скриптовые языки администрирования Windows 0 05-12-2009 05:44
Разное - [решено] передача кавычек в XmlHttpRequest harrique Программирование и базы данных 3 26-01-2009 08:29
[решено] svcpack.inf, двойные кавычки в параметрах _DRON_ Автоматическая установка Windows 2000/XP/2003 2 23-06-2008 15:37




 
Переход