|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] XMLStarlet Command Line XML Toolkit |
|
Любой язык - [решено] XMLStarlet Command Line XML Toolkit
|
Ветеран Сообщения: 842 |
Профиль | Отправить PM | Цитировать Помогите разобраться, нужно установить другие значения H и V для "TransportWindow"
Пример: file.xml <Defaults> <list name="Entries" type="list"> <item> <string name="Group" value="zzzz"/> <member name="Values"> <obj class="UPoint" name="Location" ID="215319288"> <int name="H" value="321"/> <int name="V" value="690"/> </obj> </member> </item> <item> <string name="Group" value="TransportWindow"/> <member name="Values"> <obj class="UPoint" name="Location" ID="215319288"> <int name="H" value="321"/> <int name="V" value="690"/> </obj> </member> </item> </list> </Defaults> http://xmlstar.sourceforge.net/doc/U...tarlet-ug.html Если есть варианты BAT/CMD тоже пишите, хотя xml.exe придуман именно для этих целей. |
|
------- Отправлено: 23:34, 08-03-2013 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать # xml ed -u "/Defaults/list/item/string[@value=TransportWindow]/member/obj/int[@name=H]" -v 777 file.xml
я думаю поля которые не значимые можно не указывать, например <list name="Entries" type="list"> ? |
------- Отправлено: 23:44, 08-03-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1758
|
Цигвин ставить не стал.
На PowerShell: $xml = new-object xml $xml.load("C:\file.xml") $xml.defaults.list.item[1].member.obj.int[0].value = '333' $xml.defaults.list.item[1].member.obj.int[1].value = '555' $xml.save("C:\file.xml") |
Последний раз редактировалось Foreigner, 09-03-2013 в 09:10. Отправлено: 08:18, 09-03-2013 | #3 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать Ох, PowerShell на XP не станет, сначала скажет установить Framework 3.5 которого по-умолчанию даже в Win8 нету, потом будет устанавливать 15 минут, а потом скажет ещё WIC установить, а потом скажет что платформа x64 не поддерживается.
Пришло время батники при помощи NET писать Если кто сможет на cmd.exe языке cmd/bat напишите пожалуйста? |
------- Отправлено: 15:26, 09-03-2013 | #4 |
Ветеран Сообщения: 1758
|
semiono,
Плох cmd для разбора текста вообще и xml в частности. Только для конкретного файла: |
|
Отправлено: 18:14, 09-03-2013 | #5 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать Ребята, работает! Тут конечно надо внимание и терпение с первого раза в XML, но инструмент работает!
xml ed -u "/Defaults/list/item[string[@value='TransportWindow']]/member/obj/int[@name='H']/@value" -v 100500 file.xml И с путями XPath тоже документация не очень, но разобрались. xml.exe 2.10 MB Foreigner, спасибо, пригодится! |
------- Отправлено: 21:43, 09-03-2013 | #6 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать Fasm + XMLStarlet
include '%fasm%/win64ax.inc' section '.code' executable start: sub rsp,8 invoke SHGetSpecialFolderPath,NULL,b,CSIDL_APPDATA,NULL invoke lstrcat,b,'\Steinberg\Nuendo 4' invoke GetSystemMetrics,SM_CXSCREEN invoke wsprintf,a,\ '/c xml ed -S -O -u "/Defaults/list/item[string[@value=''PArrangeWindow'']]/member/obj[@name=''Size'']/int[@name=''H'']/@value" -v %d Defaults.xml> tmp && move /y tmp Defaults.xml',eax invoke ShellExecute,NULL,NULL,'cmd.exe',a,b,SW_HIDE invoke GetSystemMetrics,SM_CYSCREEN sub eax,52 invoke wsprintf,a,\ '/c xml ed -S -O -u "/Defaults/list/item[string[@value=''PArrangeWindow'']]/member/obj[@name=''Size'']/int[@name=''V'']/@value" -v %d Defaults.xml> tmp && move /y tmp Defaults.xml',eax invoke ShellExecute,NULL,NULL,'cmd.exe',a,b,SW_HIDE invoke GetSystemMetrics,SM_CXSCREEN shr eax,1 sub eax,399 invoke wsprintf,a,\ '/c xml ed -S -O -u "/Defaults/list/item[string[@value=''TransportWindow'']]/member/obj/int[@name=''H'']/@value" -v %d Defaults.xml> tmp && move /y tmp Defaults.xml',eax invoke ShellExecute,NULL,NULL,'cmd.exe',a,b,SW_HIDE invoke GetSystemMetrics,SM_CYSCREEN sub eax,220 invoke wsprintf,a,\ '/c xml ed -S -O -u "/Defaults/list/item[string[@value=''TransportWindow'']]/member/obj/int[@name=''V'']/@value" -v %d Defaults.xml> tmp && move /y tmp Defaults.xml && del tmp',eax invoke ShellExecute,NULL,NULL,'cmd.exe',a,b,SW_HIDE exit: invoke ExitProcess,NULL section '.data' readable writeable a rb MAX_PATH b rb MAX_PATH section '.idata' import readable library kernel32,'KERNEL32.DLL',shell32,'SHELL32.DLL',user32,'USER32.DLL' include '%fasm%/api/kernel32.inc' include '%fasm%/api/shell32.inc' include '%fasm%/api/user32.inc' |
------- Отправлено: 21:26, 10-03-2013 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Вопрос - Avira AntiVir Command Line Scanner... | petroq | Защита компьютерных систем | 0 | 03-07-2011 01:31 | |
Службы - [решено] Прекращена работа программы"A Win32 command line eMail tool" | KAV1984 | Microsoft Windows 7 | 7 | 30-05-2011 20:21 | |
Что такое "UI mode" и "-i command-line option"? | Alexeyy | Microsoft Windows 95/98/Me (архив) | 7 | 26-08-2010 04:31 | |
Command Line Gui Wrapper (Интерфейс любых любых dos/cmd программ) | Stalingrad | Автоматическая установка приложений | 5 | 20-01-2009 16:02 |
|