[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 请教:批处理如何提取两个特定字符间的文本?

IPv4 地址 . . . . . . . . . . . . : 192.168.2.87(首选)请教怎样提取这一行中的IP地址?因为第四段可能是一位数字,也可能是三位数字,所以要提取 “ ”之后、“”之前的这一段,不知道怎样实现。
新人求指点,谢谢各位大神!

for /f "tokens=2 delims=(:" %%a in (set) do echo %%a

TOP

  1. @echo off
  2. for /f "tokens=2 delims=:(" %%i in ('ipconfig /all ^| findstr /i "IPv4.*首选"') do (
  3.     set "IP=%%i"
  4. )
  5. set "IP=%IP: =%"
  6. echo %IP%
  7. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 3# Batcher

把 /all 删掉 应该更好。可减少很多无关行和字符

TOP

PS
  1. ipconfig |?{$_ -match 'IPv4'}|%{$_.split(': ')[-1].trim()}
复制代码

TOP

回复 4# xczxczxcz


    我看楼主顶楼的描述推测他用的是 ipconfig /all 不知道是否有特殊原因
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表