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

[文本处理] 批处理如何从文本中取出2个关键字开头的内容,并将2个关键字输出到一行?

从邮件服务器上导出的内容如下,每行是用户的一个属性,我只需要取其中InternetAddress\FullName\mailfile三个属性,并把它的值输出到一个文本文件。
LocalAdmin:  
AvailableForDirSync:  1
CheckPassword:  0
PasswordChangeInterval:  0
PasswordGracePeriod:  0
我所编辑的脚本如下:
  1. set OW=
  2. set EM=
  3. set MF=
  4. setlocal enabledelayedexpansion
  5. for /F "eol=O tokens=1,2* delims=:" %%i in (d:\test\contact.txt)  do (
  6. if %%i==InternetAddress ( %EM%=%%j )
  7. if %%i==FullName ( %OW%=%%j )
  8. if %%i==MailFile ( %MF%=%%j )
  9. if "!MF!" NEQ ""  ( echo %OW%;%EM% >>storemail.txt|set %OW%=|set %EM%="" )
  10. )
复制代码
发现For语句根本不循环。

发全好长的!
FullName:  CN=NewCity
InternetAddress: [email]Newcity@abc.com[/email]
MailFile: Newcity.psf

TOP

另外3楼的做法不对,我要得是把这3行输出到一行。也就是说针对一个用户,把三个属性列为一行。如4楼所发信息,应该是CN=NewCity, [email]Newcity@abc.com[/email],Newcity.psf

TOP

返回列表