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

[文本处理] [已解决]批处理怎样获取从含特定字符串的行到另一个含特定字符串的行之间的内容?

本帖最后由 pcl_test 于 2016-7-13 00:28 编辑

1.txt中
  1. 2011-06-15,15:22:33
  2. System Repair Engineer 2.8.4.1331
  3. Smallfrogs (http://www.KZTechs.com)
  4. Windows 7 Ultimate Edition  (Build 7600) - 管理权限用户 - 完整功能
  5. 以下内容被选中:
  6.     所有的启动项目(包括注册表、启动文件夹、服务等)
  7.     浏览器加载项
  8.     正在运行的进程(包括进程模块信息)
  9.     文件关联
  10.     Winsock 提供者
  11.     Autorun.inf
  12.     HOSTS 文件
  13.     进程特权扫描
  14.     计划任务
  15.     Windows 安全更新检查
  16.     API HOOK
  17.     隐藏进程
  18. 启动项目
  19. 注册表
  20. [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
  21.     <Sidebar><C:\Program Files\Windows Sidebar\sidebar.exe /autoRun>  [(Verified)Microsoft Windows]
  22.     <Beike Antiarp><"C:\Program Files\Beike\Antiarp\beikearpmain.exe" -startup>  [(Verified)Beike Internet Security Technology Co.,Ltd]
  23. [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
  24.     <Apoint><C:\Program Files\DellTPad\Apoint.exe>  [(Verified)Alps Electric Co., LTD.]
  25.     <StartCCC><"C:\Program Files\ATI Technologies\ATI.ACE\Core-Static\CLIStart.exe" MSRun>  [File is missing]
  26.     <wdcertm_ccb><C:\Windows\system32\WatchData\Watchdata CCB CSP v3.2\WDCertM_CCB.exe>  [ Beijing WatchData System Co., Ltd.]
  27.     <USBKeyTools.exe><C:\Program Files\CCBComponents\HDZB\USBKeyTools.exe>  [北京华大智宝电子系统有限公司]
  28.     <CCBCertificate><C:\Program Files\CCBComponents\DMWZ\CCBCertificate.exe>  []
  29.     <avast><"C:\Program Files\AVAST Software\Avast\avastUI.exe" /nogui>  [(Verified)AVAST Software]
  30.     <Beike Antiarp><"C:\Program Files\Beike\Antiarp\beikearpmain.exe" -startup>  [(Verified)Beike Internet Security Technology Co.,Ltd]
  31.     <360Safetray><"C:\Program Files\360\360safe\safemon\360Tray.exe" /start>  [(Verified)360.cn]
  32. [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
  33.     <shell><Explorer.exe>  [(Verified)Microsoft Windows]
  34.     <Userinit><C:\Windows\system32\userinit.exe,>  [(Verified)Microsoft Windows]
  35. [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows]
  36.     <AppInit_DLLs><>  [N/A]
  37. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad]
  38.     <WebCheck><>  [N/A]
  39. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\>{22d6f312-b0f6-11d0-94ab-0080c74c7e95}]
  40.     <Microsoft Windows Media Player><%SystemRoot%\system32\unregmp2.exe /ShowWMP>  [(Verified)Microsoft Windows]
  41. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\>{26923b43-4d38-484f-9b9e-de460746276c}]
  42.     <Internet Explorer><C:\Windows\System32\ie4uinit.exe -UserIconConfig>  [(Verified)Microsoft Windows]
  43. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\>{60B49E34-C7CC-11D0-8953-00A0C90347FF}]
  44.     <Browser Customizations><"C:\Windows\System32\rundll32.exe" "C:\Windows\System32\iedkcs32.dll",BrandIEActiveSetup SIGNUP>  [(Verified)Microsoft Windows]
  45. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{2C7339CF-2B09-4501-B3F3-F3508C9228ED}]
  46.     <Themes Setup><%SystemRoot%\system32\regsvr32.exe /s /n /i:/UserInstall %SystemRoot%\system32\themeui.dll>  [File is missing]
  47. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{44BBA840-CC51-11CF-AAFA-00AA00B6015C}]
  48.     <Microsoft Windows><"%ProgramFiles%\Windows Mail\WinMail.exe" OCInstallUserConfigOE>  [File is missing]
  49. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{6BF52A52-394A-11d3-B153-00C04F79FAA6}]
  50.     <Microsoft Windows Media Player><%SystemRoot%\system32\unregmp2.exe /FirstLogon /Shortcuts /RegBrowsers /ResetMUI>  [(Verified)Microsoft Windows]
  51. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{89820200-ECBD-11cf-8B85-00AA005B4340}]
  52.     <Windows Desktop Update><regsvr32.exe /s /n /i:U shell32.dll>  [(Verified)Microsoft Windows]
  53. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{89820200-ECBD-11cf-8B85-00AA005B4383}]
  54.     <Web Platform Customizations><C:\Windows\System32\ie4uinit.exe -BaseSettings>  [(Verified)Microsoft Windows]
  55. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{89B4C1CD-B018-4511-B0A1-5476DBF70820}]
  56.     <N/A><C:\Windows\system32\Rundll32.exe C:\Windows\system32\mscories.dll,Install>  [(Verified)Microsoft Corporation]
  57. [HKEY_CURRENT_USER\Control Panel\Desktop]
  58.     <SCRNSAVE.EXE><C:\Windows\system32\Bubbles.scr>  [(Verified)Microsoft Windows]
  59. ==================================
  60. 启动文件夹
  61. N/A
  62. ==================================
  63. 服务
  64. [AMD External Events Utility / AMD External Events Utility][Running/Auto Start]
  65.   <C:\Windows\system32\atiesrxx.exe><AMD>
  66. [Autodesk Licensing Service / Autodesk Licensing Service][Running/Auto Start]
  67.   <"C:\Program Files\Common Files\Autodesk Shared\Service\AdskScSrv.exe"><Autodesk>
  68. [avast! Antivirus / avast! Antivirus][Running/Auto Start]
  69.   <"C:\Program Files\AVAST Software\Avast\AvastSvc.exe"><AVAST Software>
  70. ==================================
  71. 浏览器加载项
  72. [迅雷FLV视频嗅探及下载支持]
  73.   {0EA37B17-6B8B-4085-8257-F3A4AA69C27A} <d:\Program Files\Thunder Network\Thunder\BHO\XlBrowserAddin1.0.1.29.dll, (Signed) 深圳市迅雷网络技术有限公司>
  74. [迅雷下载支持]
  75.   {889D2FEB-5411-4565-8998-1DD2C5261283} <d:\Program Files\Thunder Network\Thunder\BHO\XunleiBHO7.1.8.2302.dll, (Signed) 深圳市迅雷网络技术有限公司>
  76. [avast! WebRep]
  77.   {8E5E2654-AD2D-48bf-AC2D-D17F00898D06} <C:\Program Files\AVAST Software\Avast\aswWebRepIE.dll, (Signed) >
  78. ==================================
  79. 正在运行的进程
  80. [PID: 332 / SYSTEM][\SystemRoot\System32\smss.exe]  [(Verified) Microsoft Corporation, 6.1.7600.16385 (win7_rtm.090713-1255)]
  81. [PID: 468 / SYSTEM][C:\Windows\system32\csrss.exe]  [(Verified) Microsoft Corporation, 6.1.7600.16385 (win7_rtm.090713-1255)]
  82. [PID: 536 / SYSTEM][C:\Windows\system32\csrss.exe]  [(Verified) Microsoft Corporation, 6.1.7600.16385 (win7_rtm.090713-1255)]
  83.    
  84. ==================================
  85. 文件关联
  86. .TXT  Error. [C:\Windows\notepad.exe %1]
  87. .EXE  OK. ["%1" %*]
  88. .COM  OK. ["%1" %*]
  89. .PIF  OK. ["%1" %*]
  90. .REG  OK. [regedit.exe "%1"]
  91. .BAT  OK. ["%1" %*]
  92. .SCR  OK. ["%1" /S]
  93. .CHM  OK. ["%SystemRoot%\hh.exe" %1]
  94. .HLP  Error. []
  95. .INI  OK. [%SystemRoot%\system32\NOTEPAD.EXE %1]
  96. .INF  OK. [%SystemRoot%\system32\NOTEPAD.EXE %1]
  97. .VBS  Error. [%SystemRoot%\System32\WScript.exe "%1" %*]
  98. .JS   OK. [%SystemRoot%\System32\WScript.exe "%1" %*]
  99. .LNK  OK. [{00021401-0000-0000-C000-000000000046}]
  100. ==================================
  101. Winsock 提供者
  102. N/A
  103. ==================================
  104. Autorun.inf                              
  105. [C:\]               
  106. [AutoRun]                                                  
  107. ICON = c.ico                                                        
  108. [D:\]                                                                                
  109. [AutoRun]                                                            
  110. ICON = d.ico                                                                  
  111. [E:\]                                                                     
  112. [AutoRun]                                                                    
  113. ICON = e.ico                                                         
  114. [F:\]                                                                           
  115. [AutoRun]                                                            
  116. ICON = f.ico
  117. ==================================
  118. HOSTS         
  119. N/A
  120. ==================================
  121. 进程特权扫描
  122. 特殊特权被允许: SeDebugPrivilege [PID = 2892, C:\PROGRAM FILES\ATI TECHNOLOGIES\ATI.ACE\CORE-STATIC\MOM.EXE]
  123. 特殊特权被允许: SeDebugPrivilege [PID = 3956, C:\PROGRAM FILES\ATI TECHNOLOGIES\ATI.ACE\CORE-STATIC\CCC.EXE]
  124. ==================================
  125. 计划任务
  126. N/A
  127. ==================================
  128. Windows 安全更新检查
  129. N/A
  130. ==================================
  131. API HOOK
  132. 入口点错误:SetWindowsHookExA (危险等级: 高,  被下面模块所HOOK: 0x001F00AD)
  133. 入口点错误:SetWindowsHookExW (危险等级: 高,  被下面模块所HOOK: 0x001F00E9)
  134. 入口点错误:UnhookWindowsHookEx (危险等级: 高,  被下面模块所HOOK: 0x001F0125)
  135. ==================================
  136. 隐藏进程
  137. N/A
  138. ==================================
复制代码
实际上是SREnglog.log中的文本处理:希望能够知输出autorun.inf 部分的内容,
谢谢

能不能截取中间一部分到2.txt
  1. Autorun.inf                           
  2. [C:\]               
  3. [AutoRun]                                                  
  4. ICON = c.ico                                                        
  5. [D:\]                                                                                
  6. [AutoRun]                                                            
  7. ICON = d.ico                                                                  
  8. [E:\]                                                                     
  9. [AutoRun]                                                                    
  10. ICON = e.ico                                                         
  11. [F:\]                                                                           
  12. [AutoRun]                                                            
  13. ICON = f.ico
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

12# yangfengoo


哈哈,这个我也想出来了。还是要谢谢你啊。

有空来看下我的作品(也有你的功劳哦)
http://bbs.kafan.cn/forum.php?mo ... ;extra=#pid19392539

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. set n2===================================
  3. for /f "tokens=1 delims=:" %%a in ('findstr /b /n "Autorun.inf" 1.txt') do set/a n1=%%a-1
  4. >2.txt (for /f "tokens=*" %%a in ('more +!n1! 1.txt') do if not %%a==!n2! (echo.%%a) else (goto xx))
  5. :xx
  6. echo xxxx
  7. pause
复制代码

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. set n2===================================
  3. for /f "tokens=1 delims=:" %%a in ('findstr /b /n "Autorun.inf" 1.txt') do set/a n1=%%a-1
  4. >2.txt (for /f "tokens=*" %%a in ('more +!n1! 1.txt') do if not %%a==!n2! (echo.%%a) else (exit))
复制代码
最后的括号里的exit能不能去掉,因为有exit,我的批处理不能继续执行其他命令了

TOP

本帖最后由 zm900612 于 2011-6-15 23:04 编辑

汗,刚才调试这段利用set /p特性实现判断内容是否为等号开头的的代码去了,出现一些问题,纳闷了半天
  1. @echo off
  2. for /f "delims=" %%a in (a.txt) do (
  3.         if not defined out (
  4.                 for /f %%b in ("@%%a") do if "%%b"=="@Autorun.inf" set out=1
  5.         ) else (
  6.                 set<nul>nul /p=%%a
  7.         )||set out=
  8.         if defined out echo;%%a
  9. )
  10. pause
复制代码
原先百思不得其解为何此处的set /p的errorlevel始终为1,后来发现是set /p命令的共同特征,后来只好用老老实实的办法了:
  1. @echo off
  2. (for /f "delims=" %%a in (a.txt) do (
  3.         if not defined out (
  4.                 for /f %%b in ("@%%a") do if "%%b"=="@Autorun.inf" set out=1
  5.         ) else (
  6.                 if "%%a"=="==================================" set out=
  7.         )
  8.         if defined out echo;%%a
  9. ))>b.txt
  10. pause
复制代码

TOP

  1. sed "/^Autorun.inf/,/==================================/!d;/==================================/d" a.txt | more >b.txt
复制代码
http://bbs.bathome.net/thread-1114-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

7# yangfengoo


崇拜你 一定要好好学习

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. set n2===================================
  3. for /f "tokens=1 delims=:" %%a in ('findstr /b /n "Autorun.inf" 1.txt') do set/a n1=%%a-1
  4. >2.txt (for /f "tokens=*" %%a in ('more +!n1! 1.txt') do if not %%a==!n2! (echo.%%a) else (exit))
复制代码
1

评分人数

TOP

4# zm900612

版主来看一下 谢谢帮忙

TOP

3# liion631818


能不能提供完整的代码

可能是我没有表达清楚意思

TOP

看得似懂非懂,能否请楼主给出2.txt的内容示例呢?

TOP

  1. @echo off
  2. set output=false
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in (file) do (
  5. set "line=%%i"
  6. if "!line:~0,5!"=="HOSTS" goto end
  7. if "!output!"=="true" echo !line!
  8. if "!line!"=="Autorun.inf" (
  9. set "output=true"
  10. )
  11. )
  12. :end
  13. pause
复制代码
__@__@__批了___来看看吧

TOP

1# batpro


用echo 内容>>2.txt

TOP

返回列表