windows findstr 匹配特定数字
windows findstr match specific numeric
我有一个 xml 文件,其值类似于:
<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]+$"/>
如有任何提示,我们将不胜感激!
使用 for /f
循环到 "disassemble" 一行:
for /f tokens^=2^ delims^=^" %%a in ('findstr /C:"MachineID.AssetNumber" Static.Settings.xml') do set asset=%%a
echo %asset%
奇怪的语法而不是 "tokens=2 delims=""
是正确处理报价所必需的。
我有一个 xml 文件,其值类似于:
<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]+$"/>
如有任何提示,我们将不胜感激!
使用 for /f
循环到 "disassemble" 一行:
for /f tokens^=2^ delims^=^" %%a in ('findstr /C:"MachineID.AssetNumber" Static.Settings.xml') do set asset=%%a
echo %asset%
奇怪的语法而不是 "tokens=2 delims=""
是正确处理报价所必需的。