2016-09-27 9 views
0

У меня есть файл XML, который имеет значение, напоминающее это:окно Findstr соответствует конкретному числовым

<Editable default="XXX07770004183" description="Station Id" name="MachineID.PSID" regex="^XXX[a-zA-Z0-9]{4}[0-9]{4}[a-zA-Z0-9]{3}$"/> 

    <Editable default="17" description="Machine Number" name="MachineID.MachineID" regex="^[0-9]+$"/> 

    <Editable default="32" description="Asset number" name="MachineID.AssetNumber" regex="^[0-9]+$"/> 

    <Editable default="AAALLL74" description="Serial number" name="MachineID.SerialNumber" regex="^[a-zA-Z0-9]+$"/> 

я хотел бы получить значение числа активов (32 в данном примере) и сохранить его в переменном. Номер актива может составлять 5 цифр.

Это пакет Windows с findstr.

Findstr /C:MachineID.AssetNumber Static.Settings.xml, но это соответствует только всю строку:

<Editable default="32" description="Asset number of the machine." name="MachineID.AssetNumber" regex="^[0-9]+$"/> 

Любые намеки оценены!

ответ

1

использовать for /f цикл, чтобы «разобрать» строку:

for /f tokens^=2^ delims^=^" %%a in ('findstr /C:"MachineID.AssetNumber" Static.Settings.xml') do set asset=%%a 
echo %asset% 

Странный синтаксис вместо "tokens=2 delims="" необходимо указывать в правильно обрабатывать цитаты.

+0

Это замечательно! Дал мне то, что мне было нужно: 32 –

 Смежные вопросы

  • Нет связанных вопросов^_^