找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27187|回复: 5

[文本处理] 批处理如何提取文本中双引号内的特定内容?

[复制链接]
发表于 2010-6-1 15:47:23 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-11-10 20:12 编辑

<host name="NTCP-RSCFADS01A.CPC.NTC.REUINT.COM" service
<host name="NTCP-RSCDOCT01A.CPC.NTC.REUINT.COM" service-sets="gps,production,docproc-8,license"/>
<host name="NTCP-RSCDOCT01B.CPC.NTC.REUINT.COM" service-sets="gps,production,docproc-8,license"/>
<host name="NTCP-RSCDOCT02A.CPC.NTC.REUINT.COM" service-sets="gps,production,docproc-8,license"/>

文本中有这样的信息,如何只输出引号中的信息得到这样的结果:

NTCP-RSCFADS01A.CPC.NTC.REUINT.COM
NTCP-RSCDOCT01A.CPC.NTC.REUINT.COM
NTCP-RSCDOCT01B.CPC.NTC.REUINT.COM
NTCP-RSCDOCT02A.CPC.NTC.REUINT.COM
发表于 2010-6-1 17:26:58 | 显示全部楼层
忽略编码问题,忽略敏感字符问题,仅以楼主提供的示例为例:
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /F "delims=" %%a in (1.txt) do (
  3. set "a=%%a"&set "a=!a:"=$!"
  4. for /F "tokens=2 delims=$" %%b in ("!a!") do echo.%%b
  5. ))>2.txt
复制代码

[ 本帖最后由 hanyeguxing 于 2010-6-1 17:28 编辑 ]
发表于 2011-5-22 11:06:40 | 显示全部楼层

  1. @echo off
  2. for /f "tokens=3 delims== " %%i in (a.txt) do echo %%~i
  3. pause
复制代码
发表于 2011-5-22 11:29:28 | 显示全部楼层
zm900612的方法,用引号做分隔符:

  1. @echo off
  2. for /f tokens^=2^ delims^=^" %%a in (a.txt) do echo %%a
  3. pause>nul
复制代码
发表于 2011-5-22 13:14:11 | 显示全部楼层
  1. @echo off
  2. (for /f tokens^=2^ delims^=^" %%i in (test.txt) do echo %%i )>2.txt
  3. rem 复习一下用"作为分隔符,竟然忘记了对空格进行转义——学而时习之!
  4. pause>nul

复制代码
发表于 2016-11-10 20:11:06 | 显示全部楼层
  1. powershell -c "gc '文本.txt'|%%{$_.split('"')[1]}"
  2. pause
复制代码
  1. powershell -c "([regex]'(?<=<host name="")[^"]+').Matches([IO.File]::ReadAllText('文本.txt', [Text.Encoding]::default))^|%%{$_.Value}"
  2. pause
复制代码
  1. powershell -c "[IO.File]::ReadAllText('文本.txt', [Text.Encoding]::default)|Select-String '(?<=<host name="")[^"]+' -AllMatches^|%%{$_.matches^|%%{$_.Value}}"
  2. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 17:18 , Processed in 0.041347 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表