从简单命令输出中提取关键字符串 从文本中提取关键字符串 从简单命令输出中提取字符串到变量中

1. 实例:

1.1. 实例1:用for /ffindstr联合:

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
)
endlocal

2. 说明

2.1. 实例1:

用findstr来找到对应行 再用for /f 来设置分隔符目标分隔为单独一列,然后传入相应形参

2.2. 实例2:

直接用for /f来读取每一行和对应列,然后在for /f内部记录循环次数,也就是行数