|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Замена значения в ковычках |
|
VBS/WSH/JS - Замена значения в ковычках
|
Новый участник Сообщения: 6 |
Пишу свой первый скрипт на VBS для простой задачи: найти в xml файле часть строки, которая выглядит так:
И заменить значение X на Y, который водится в диалоговом окне при запуске скрипта. Нашел вот такой скрипт: Dim fso Const ForReading = 1 Const ForWriting = 2 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile("config.xml", ForReading) YNumber=InputBox("ЗначениеY") ' strText = objFile.ReadAll objFile.Close strOldText = "key=""X""" strNewText = YNumber strNewText = Replace(strText, strOldText, strNewText) Set objFile = objFSO.OpenTextFile("config.xml", ForWriting) objFile.WriteLine strNewText objFile.Close Т.е. надо как-то допилить скрипт. Например, чтобы он искал по маске "key=""*""" , а потом целиком заменять найденную строку на "key=""Y""". Или искать часть key=", и заменять на Y все значения до следующей кавычки. Намекните где посмотреть наглядный пример с похожим функционалом. |
|
Отправлено: 01:10, 04-09-2014 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Akiyamka, упакуйте образец Вашего реального xml-файла в архив и приложите к сообщению.
|
Отправлено: 03:23, 04-09-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать |
Отправлено: 11:26, 04-09-2014 | #3 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Iska, и Georgio, начну с того, что скажу Вам огромное спасибо что отозвались. прикрепил файл xml. Ключи screenheight=" " и screenwidth=" ". Задача в том, чтобы их значения менять на введенные через диалоговое окно.
Georgio, что-то не завелся. |
Отправлено: 01:10, 05-09-2014 | #4 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 01:20, 05-09-2014 | #5 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать File="config.xml" set d=CreateObject("Scripting.Dictionary") d.Add "0", "screenheight" d.Add "1", "screenwidth" '''''''''''''''' и т. д. ''''''''''''''''' For Each i In d With WScript.CreateObject("Scripting.FileSystemObject") x=Replace(.OpenTextFile(File).ReadAll(),Split(Split(.OpenTextFile(File).ReadAll(),d.Item(i)&"="&Chr(34))(1),Chr(34))(0),InputBox("Введите новое значение для "&d.Item(i))) .OpenTextFile(File,2).Write(x) End With Next |
Отправлено: 04:34, 05-09-2014 | #6 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать |
Отправлено: 10:18, 05-09-2014 | #7 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Все таки есть у скрипта недостаток. Он перестает работать если значения screenheight=" " и screenwidth=" " одинаковы, или не указаны. Можно как-нибудь его дописать, чтобы он сначала устанавливал эти значения по умолчанию (screenheight="1024" и screenwidth="768"), и только потом менял?
|
Отправлено: 22:11, 10-09-2014 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Akiyamka:
Пробуйте, на WSH: |
|
Отправлено: 14:38, 11-09-2014 | #9 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Красота, огромное спасибо!
|
Отправлено: 12:46, 14-09-2014 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] замена значения в xml-файле | firstarey | Скриптовые языки администрирования Windows | 20 | 13-11-2017 11:24 | |
CMD/BAT - [решено] Сравнение файлов и замена значения из одного файла в другой. | Aleks911tat | Скриптовые языки администрирования Windows | 12 | 25-08-2012 22:27 | |
работа с файлами в HEX формате, поиск и замена по 16ричному адресу значения в файле. | andr_mozg | AutoIt | 3 | 10-03-2012 10:20 | |
Замена e7400 на q8400, нужна ли замена БП? | Lehich22 | Выбор отдельных компонентов компьютера и конфигурации в целом | 3 | 24-12-2011 21:06 | |
замена значения элемента массива другим значением элемента.. | MXM | Вебмастеру | 1 | 20-05-2004 06:50 |
|