从简单命令输出中提取关键字符串 从文本中提取关键字符串 从简单命令输出中提取字符串到变量中
1. 实例:
1.1. 实例1:用for /f和findstr联合:
out.txt文本内容:
wlan0 Link encap:UNSPEC Driver wlan
inet addr:192.168.1.4 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: 2409:8a5c:7a14:37c0:f702:e6dc:59be:ee9c/64 Scope: Global
inet6 addr: fe80::4ad:41a2:16df:f390/64 Scope: Link
inet6 addr: 2409:8a5c:7a14:37c0:99c1:a377:4c63:b037/64 Scope: Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:767052 errors:0 dropped:0 overruns:0 frame:0
TX packets:405234 errors:611 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3000
RX bytes:997835784 TX bytes:46617611 目标是提取第二行中的ipv4地址 代码:
for /f "usebackq tokens=1-6 delims=: " a , column2=c , column4=a in (test.txt) do (
setlocal enabledelayedexpansion
Set /a n+=1
If !n!==2 echo row2 column2 =c
If !n!==6 echo row6 column6 =%%c
)
endlocal2. 说明
2.1. 实例1:
用findstr来找到对应行 再用for /f 来设置分隔符把目标分隔为单独一列,然后传入相应形参
2.2. 实例2:
直接用for /f来读取每一行和对应列,然后在for /f内部记录循环次数,也就是行数