![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] поиск по xml |
|
CMD/BAT - [решено] поиск по xml
|
Пользователь Сообщения: 102 |
суть:
есть xml файлы, надо вытащить информацию из определенного тега как делаю: set File_name=file.xml rem как бы имя проще получать ? так чтоб перетаскиваешь xml на rem батник и батник в итоге получает имя xml файла rem это что то типа: rem set File_name=%1 findstr "<CadastralNumber>" %File_name% >1.txt rem находим по тегу кадастровый номер For /F "tokens=1,2* Delims=<CadastralNumber>" %%a In (1.txt) Do (echo %%a >>KADNumber.txt) rem обрезаем тег <CadastralNumber> Вопрос: как оставить только 1 строку ? т.к. последние 2 явно подрезаны и не актуальны For /F "tokens=1,2,3,4* Delims=:" %%a In (KADNumber.txt) Do ( echo K_Region = %%a регион >>out.txt echo K_Raion = %%b район >>out.txt echo K_kvartal = %%c квартал >>out.txt if %%d NEQ "" (echo K_uchastok = %%d участок >>out.txt) ) rem приводим к удобному виду Возможно предложите более элегантное решение ![]() |
|
Отправлено: 09:14, 01-04-2013 |
Пользователь Сообщения: 102
|
Профиль | Отправить PM | Цитировать |
Отправлено: 06:27, 02-04-2013 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 102
|
Профиль | Отправить PM | Цитировать суть:
последний кусок кода, комментарием выделена строка (83) переменная не желает принимать значение которое ей хочу присвоить (видно по выводу echo) при этом отдельно данный кусок кода прекрасно себя чувствует. подозрения падают на %K_ucastok% что тут может быть не так ? голову сломал сам скрипт целиком: отдельно проблемный кусок, работает без проблем: весь набор прилагаю во вложении |
Последний раз редактировалось firstarey, 06-03-2014 в 07:23. Отправлено: 14:06, 02-04-2013 | #12 |
Пользователь Сообщения: 148
|
Профиль | Сайт | Отправить PM | Цитировать Новое значение, присвоенное переменной под скобками, циклом или конкатенацией команд (&), можно получить из нее, не выходя из этой же конструкции, раскрывая только через восклицательные знаки:
set new_file_name=value ( set new_file_name=new value echo %new_file_name% echo !new_file_name! ) либо запуская бат-файл следующим способом: P.S. Чтобы не использовать несколько кодировок (обе Win-1251 и DOS OEM-866) в пакетном файле, достаточно сохранить файл любым вменяемым редактором (например, AkelPad) в кодировке DOS. |
------- Отправлено: 16:53, 02-04-2013 | #13 |
Пользователь Сообщения: 102
|
Профиль | Отправить PM | Цитировать Очередная заминка:
не все *.XML файлы отформатированы с переносом строки, т.е. попадаются файлы где нет переноса на след строку после закрытия тега, например фрагмент: <Location><Code_OKATO>57401380000</Code_OKATO></Location><Parcels><Parcel CadastralNumber="59:01:4410923:25" Name="01" State="01" DateCreated="2006-09-13"><Areas><Area><AreaCode>009</AreaCode> соответственно Цитата firstarey:
через Notepad++ делается просто, но хочется автоматизировать процесс. сейчас поиск номера (59:01:4410923:25) выполняется следующим образом: Возможно ли как то через cmd реализовать замену "><" на ">перенос строки<" (>/n< в Notepad++)? Ну или другой вариант? возможно изменить алгоритм поиска ? второй вопрос: как бы имя обрабатываемого файла проще получать ? так чтоб перетаскиваешь xml на батник и батник в итоге получает имя xml файла в переменную |
|
Отправлено: 11:24, 04-04-2013 | #14 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата firstarey:
|
|
Отправлено: 17:11, 04-04-2013 | #15 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Поиск и замена фразы <signature> на sign в xml или txt | dark-------13 | Скриптовые языки администрирования Windows | 2 | 18-03-2013 11:21 | |
[решено] Поиск <строки> в XML | semiono | AutoIt | 28 | 17-11-2010 19:53 | |
[решено] проверка XML-файла на соответствие XML schema в IE 6 и Firefox 2 | dimait | Вебмастеру | 4 | 23-08-2007 02:02 | |
Поиск в яндекс.xml (выделено из "Зацените сайт!") | Vampire | Вебмастеру | 21 | 11-09-2006 20:31 | |
Решено | XML. DOM. Поиск дочерних элементов. | penykov | Программирование и базы данных | 3 | 27-04-2006 15:46 |
|