PDA

Показать полную графическую версию : Изменить значение settings.xml


semiono
10-01-2023, 23:31
<?xml version="1.0" encoding="utf-8"?>
<UserPreferences>
<list name="Entries" type="list">
<item>
<string name="Group" value="PlayRangeOptions"/>
<member name="Values">
...

<item>
<string name="Group" value="SurfaceSchemeColorSetPreferences10"/>
<member name="Values">
<int name="surface.controls.warning-text" value="-4229329"/>
<int name="surface.info-lines.multiple-text" value="-4229329"/>
<int name="surface.informer.background" value="-13210"/>
<int name="surface.rulers.cycle-active" value="-9282587"/>
<int name="surface.rulers.cycle-external" value="-10772251"/>
<int name="surface.rulers.cycle-local" value="-10040167"/>
<int name="surface.rulers.cycle-reverse" value="-4229329"/>
<int name="surface.status-lines.worry-text" value="-87808"/>
<int name="surface.system.root" value="-14342101"/>
</member>
</item>
...

</member>
</member>
</UserPreferences>

Помогите записать value
<int name="surface.system.root" value="-14342101"/>
Например
<int name="surface.system.root" value="123"/>
итп.

Вобще это цвет в каком-то формате, пока не разобрался зачем там минус. Но не суть важно.
Любые варианты, пожалуйста!

AHK1, AHK2, Perl, sed, AutoIt

Можно строку целиком заменить
"<int name="surface.system.root" value="-14342101"/>" на "<int name="surface.system.root" value="321"/>"
правда я не знаю как маску поиска задать <int name="surface.system.root" value="???"/>

Возможно пробелы XML имеют значение, поэтому лучше средствами XML

YuS_2
11-01-2023, 13:48
semiono, на powershell можно разобрать xml, только надо валидный xml-файл (а лучше полный пример... если есть конфиденциальные данные, то просто заменить их чем-либо)

semiono
11-01-2023, 19:57
Не, персональных нет, не проблема! Но у меня на Win 8.1 нету NET Framework и соответственно PowerShell не работает.
Вроде бы люди с AutoIt прислали рабочий скрипт, пока тестирую.

Хм. Вот бы на батнике я бы не отказался! :)




© OSzone.net 2001-2012