批处理中findstr命令的用户

请高手帮助解释一下这条命令,这条命令是读取电脑网关地址的
ipconfig /all >%temp%\temp.txt & for /f "tokens=13 delims=: " %%a in ('findstr /c:"Default Gateway" %temp%\temp.txt^|findstr /n .^|findstr "^1:"') do echo %%a

不懂的就是这句
^|findstr /n .^|findstr "^1:"
是什么意思,请高手帮助解释一下,感谢!

|findstr /n .^|findstr "^1:",findstr /n 表示在找到的结果每行前打印行数,findstr "^1:" 1.前面加^,表示打印1.开头的,也就是在前面已经打印行数的基础上,找出第一行。不明白为什么写得这么复杂,如果只有一张网卡或者一个网卡驱动,下面命令就可以了
for /f "tokens=1-2 delims=:" %%a in ('"ipconfig|findstr "Default""') do echo %%b
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-09
^|findstr /n .^|findstr "^1:"

第一个和第二个 ^| 因为在for循环的('')中,|要用转义字符^
第三个"^1:" 在findstr的参数中查找字符用^表示以后面紧跟的字符开头,也就是以1:开头的行.

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网