Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
VBS/WSH/JS - [решено] Запись VBScript/Jscript в одну строку

Ветеран


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


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


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

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


Как известно можно запустит VBScript/Jscript из батника через mshta. При этом всё записывается в одну строку. Например
Код: Выделить весь код
mshta.exe vbscript:close(CreateObject("WScript.Shell").Popup("MessageString",0,"Title",16))
Как аналогичным образом добавить/удалить программу на taskbar в Win7/8?
Пример скрипта http://forum.ru-board.com/topic.cgi?...&start=3940#21.
Мне надо преобразовать его в вид mshta.exe vbscript:.......

-------
Объективная реальность есть бред, вызванный недостатком алкоголя в крови.
Оптимизм есть недостаток информации.
Хочу быть змеёй, чтобы на работу лёжа ходить.
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы


Отправлено: 16:10, 20-09-2014

 

Ветеран


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


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

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


Iska,
Большое спасибо за поддержку и реальную помощь новичку в VBScript. Отдельное спасибо за прикрепление письма из лички - сам бы я, наверное, не справился бы. Отдельное спасибо за мудрый совет:
Цитата Iska:
«как почесать задней левой ногой за правым ухом» »
Следуя ему я решил не заморачиваться с .wsf, а сделать ровно то, о чем спрашивал лично у Вас в ПМ.

Как и раньше отвечу сам себе (может кому-то пригодиться). Скрипт делал сам, поэтому он может быть не совсем кошерным, но работает .
Итак для перекодирования файла C:\1.txt из cp866 в ANSI и записи содержимого этого файла в реестр можно воспользоваться таким кодом:
Код: Выделить весь код
mshta vbscript:execute("f=CreateObject(""Scripting.FileSystemObject"").GetFile(""C:\1.txt"").OpenAsTextStream(1).ReadAll():with CreateObject(""ADODB.Stream""):.Type=2:.Mode=3:.Open():.Charset=""windows-1251"":.WriteText(f):.Position=0:.Charset=""cp866"":S=.ReadText end with:a=CreateObject(""WScript.Shell"").RegWrite(""HKLM\NewKey\Param"",S,""REG_SZ""):close")
Получается интересный эффект. В C:\1.txt содержится несколько строк (это могут быть команды батника, например), а тип параметра - REG_SZ и данные записываются в одну строку. Если потом в regedit скопировать данные из этого параметра и вставить в текстовый файл, то данные опять разобьются на строки. Таким образом, в REG_SZ можно записать несколько строк, как в REG_MULTI_SZ. Может это давно известный факт, но я о таком не слышал.

-------
Объективная реальность есть бред, вызванный недостатком алкоголя в крови.
Оптимизм есть недостаток информации.
Хочу быть змеёй, чтобы на работу лёжа ходить.
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы


Отправлено: 23:14, 08-12-2014 | #11



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

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


Ветеран


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

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


Цитата ya158:
Iska,
Большое спасибо за поддержку и реальную помощь новичку в VBScript. Отдельное спасибо за прикрепление письма из лички - сам бы я, наверное, не справился бы. Отдельное спасибо за мудрый совет: »
ya158, завсегда пожалуйста. Рад был помочь. Обращайтесь, если что.

Цитата ya158:
Если потом в regedit скопировать данные из этого параметра и вставить в текстовый файл, то данные опять разобьются на строки. Таким образом, в REG_SZ можно записать несколько строк, как в REG_MULTI_SZ. Может это давно известный факт, но я о таком не слышал. »
Ничего странного. Вы пишете в REG_SZ в числе прочего концы строк 0x0D, 0x0A. Затем читаете — и получаете их же.

Отправлено: 23:29, 08-12-2014 | #12



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - запись ping в файл команда в одну строку... White-Lion Скриптовые языки администрирования Windows 7 06-04-2015 12:03
Delphi - Результат запроса в одну строку mind.beggar Программирование и базы данных 0 01-10-2013 18:14
В одну строку..... Vienna7 Вебмастеру 6 02-07-2013 10:05
VBS/WSH/JS - [решено] Как изменить конкретную строку в текстовом файле с помощью Vbscript neo21 Скриптовые языки администрирования Windows 8 30-10-2011 15:47
CMD/BAT - [решено] как сделать запись в файл в одну строку? mitiya Скриптовые языки администрирования Windows 7 29-04-2010 09:00




 
Переход