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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Замена значения между <iScale> </iScale> в xml файле

Ответить
Настройки темы
CMD/BAT - Замена значения между <iScale> </iScale> в xml файле

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


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

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


Добрый день!
Помогите создать батник для замены значений с троке <iScale> </iScale> в xml файле, назовем его test.xml

Подробнее: есть xml файлик вида:
Код: Выделить весь код
<rt>
	<det>
		<gpuMemory> 5980 </gpuMemory>
		<cpuCores> 4 </cpuCores>
		<ram> 16325 </ram>
	</det>
	<pref>
		<iScale> 1.00 </iScale>
		<vScale> 1.70 </vScale>
	</pref>
</rt>
Задача состоит из 2 пунктов:
1. Найти в файлике строку <iScale> 1.00 </iScale> и заменить значение в ней на <iScale> 1.54 </iScale>, по сути между <iScale> </iScale> может быть любое числовое значение вида x.xx: <iScale> x.xx </iScale> и мы его изначально не знаем.
2. Если параметра <iScale> </iScale> в файлике нет, то надо его добавить между <pref> </pref>

Сам задачу решить не смог, уповаю на вашу помощь. Форум почитал пару дней, но похожего не смог найти.
Спасибо заранее!

Отправлено: 14:57, 05-05-2023

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


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

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


Цитата Mat_y:
похожего не смог найти »
Да ну?
http://forum.oszone.net/forumdisplay...ilter_by=title

Powershell
Код: Выделить весь код
$file = 'C:\temp\test.xml'

[xml]$xml = gc $file

if ($xml.rt.pref.iScale -eq " 1.00 ") {
    $xml.rt.pref.iScale = " 1.54 "
}

if (-not $xml.rt.pref.iScale) {
    $iScale = $xml.CreateElement("iScale")
    $iScale.InnerText = " 1.54 "
    $xml.rt.pref.AppendChild($iScale)
}

$xml.Save($file)

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Последний раз редактировалось DJ Mogarych, 05-05-2023 в 18:15.


Отправлено: 17:44, 05-05-2023 | #2



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

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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Замена значения между <iScale> </iScale> в xml файле

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Как преобразовать иерархию заголовков <h1>-<h6> в иерархический список <ul>/<li> ruslaw Вебмастеру 4 18-04-2023 08:03
CMD/BAT - [решено] Поиск и замена фразы <signature> на sign в xml или txt dark-------13 Скриптовые языки администрирования Windows 2 18-03-2013 11:21
Route/Bridge - [решено] Маршрутизация между (Client<->PPTP->server->OpenVPN<->Server) в Linux blqs Сетевые технологии 1 04-01-2013 14:19
Прочее - [решено] Непонятная проблемма лок.сети и ноутбука (офис <-> туннель <-> склад) Alex-4u Сетевые технологии 13 08-05-2009 11:53




 
Переход