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

[文本处理] BAT如何提取txt文本中的指定字串的下面的两行内容?

本帖最后由 pcl_test 于 2017-6-14 12:27 编辑

有一optput.txt內容如下
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\\{B43EA4C8-97EE-4580-B57C-D5802DA9B67E}]
"AuthorizedCDFPrefix"=""
"Comments"=""
"Contact"=""
"DisplayVersion"="12.1.2015.2015"
"HelpLink"=""
"HelpTelephone"=""
"InstallDate"="20131030"
"InstallLocation"="C:\\Program Files (x86)\\Symantec\\Symantec Endpoint Protection\\12.1.2015.2015.105\\"
"URLInfoAbout"=""
"URLUpdateInfo"=""
"VersionMajor"=dword:0000000c
"VersionMinor"=dword:00000001
"WindowsInstaller"=dword:00000001
"Version"=dword:0c0107df
"Language"=dword:00000804
"DisplayName"="Symantec Endpoint Protection"
"DisplayIcon"="C:\\Program Files (x86)\\Symantec\\Symantec Endpoint Protection\\12.1.2015.2015.105\\Bin\\SymCorpUI.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\\{CC8BA866-16A7-4667-BA0C-C494A1E7B2BF}
"AuthorizedCDFPrefix"=""
"Comments"=""
想抓取"DisplayIcon"="C:\\Program Files (x86)\\Symantec\\Symantec Endpoint Protection\\12.1.2015.2015.105\\Bin\\SymCorpUI.exe" 的下两行
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\\{CC8BA866-16A7-4667-BA0C-C494A1E7B2BF}
并输出成get.txt     请问该如何做?

你说的两行还包含一个空行?
实际所要的内容其实只有一行是吗
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\\{CC8BA866-16A7-4667-BA0C-C494A1E7B2BF}
能不能简化一点以DisplayIcon或SymCorpUI.exe为关键词查找.

TOP

回复 2# foxJL
没错只要[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\\{CC8BA866-16A7-4667-BA0C-C494A1E7B2BF}这行
没办法简化 因为是从Regedit 汇出的 需要作自动移除 所以需要{CC8BA866-16A7-4667-BA0C-C494A1E7B2BF}码

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. set "s="DisplayIcon"="C:\\Program Files (x86)\\Symantec\\Symantec Endpoint Protection\\12.1.2015.2015.105\\Bin\\SymCorpUI.exe""
  3. (for /f "delims=" %%i in (optput.txt) do (
  4.   if defined flag (echo,%%i&set "flag=")
  5.   if /i "%%i"=="!s!" set flag=1
  6. ))>>get.txt
复制代码
1

评分人数

TOP

本帖最后由 hp051247767 于 2013-10-31 17:32 编辑

回复 4# foxJL
谢谢帮忙

TOP

回复 4# foxJL
那如果要抓這行請問要如何修改
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\\{B43EA4C8-97EE-4580-B57C-D5802DA9B67E}]

TOP

本帖最后由 terse 于 2013-10-31 17:46 编辑

回复 6# hp051247767
  1. set /p str=<optput.txt
  2. echo %str%
复制代码

TOP

返回列表