Board logo

标题: [文本处理] 一个文本里有很多相同的字母,用批处理怎样解决只找到想要的那个 [打印本页]

作者: shengjie122    时间: 2014-8-16 00:03     标题: 一个文本里有很多相同的字母,用批处理怎样解决只找到想要的那个

比如有一个TXT文本是下面这样

MODEL=INTEL
MAC=88-88-88-87-88-88
EMP_NO=D0121456
BTMAC=99-99-99-99-99-98
WMAC=65-65-65-54-54-45


如何用批理,只找到MAC后面的地址,然后赋给它一个变量值。忽略掉BTMAC和WMAC

请各位高手帮忙解答下,谢谢了。
作者: wankoilz    时间: 2014-8-16 00:18

正好被我看到了,看起来挺简单:
  1. @echo off
  2. for /f "tokens=2 delims==" %%a in ('findstr/i "^MAC=" a.txt') do set 变量名=%%a
  3. pause
复制代码

作者: CrLf    时间: 2014-8-16 00:27

本帖最后由 CrLf 于 2014-8-16 00:34 编辑

另外两种常见的办法:
  1. @echo off
  2. for /f "tokens=1* delims==" %%a in (a.txt) do if /i %%a==MAC echo MAC=%%a
  3. pause
复制代码
  1. @echo off
  2. for /f "delims=" %%a in (a.txt) do set "%%a" >nul 2>nul
  3. echo MAC=%MAC%
  4. pause
复制代码

作者: shengjie122    时间: 2014-8-16 00:30

回复 2# wankoilz


    谢谢,本人小菜鸟。多谢指教
作者: shengjie122    时间: 2014-8-16 02:12

回复 3# CrLf

上面那个貌似没用。。。
下面这个使用太风骚了,这样都可以。我去百度下是什么意思。
谢谢高手。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2