无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 2511|回复: 4
打印 上一主题 下一主题

[求助] 求助“提取文本中含1-n数列的所有行”的批处理

[复制链接]
跳转到指定楼层
1#
发表于 2013-9-15 10:03:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
百度上只能找到提取文本中含指定字符串的批处理,如果想提取文本中含6、7、8、.....81的所有行放到一个新文件”的批处理该如何做呢?先谢谢批处理达人了!
2#
发表于 2013-9-15 12:28:48 | 只看该作者
比如,某一行含有数字911,因911不在6~81范围,你肯定说这一行不提取。

比如,某一行含有数字911,因数字9和11在6~81范围内,符合提取要求,你肯定说这一行提取。

提取什么,如何提取,请想好了再来提问。

点评

谢谢回复! 这是一个MUI的注册表文件TT1.txt如下: hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\0","FileName",,"ieakmmc.chm" hklm,"SOFTWARE\Microsoft\Updates\Windows Serve  详情 回复 发表于 2013-9-15 21:26
回复

使用道具 举报

3#
 楼主| 发表于 2013-9-15 21:26:51 | 只看该作者
本帖最后由 2010laocfan 于 2013-9-15 21:49 编辑
pznpt 发表于 2013-9-15 12:28
比如,某一行含有数字911,因911不在6~81范围,你肯定说这一行不提取。

比如,某一行含有数字911,因数 ...


谢谢回复!
这是一个MUI的注册表文件TT1.txt如下:
hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\0","FileName",,"ieakmmc.chm"
hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\0","Location",,"C:\WINDOWS\help\MUI\0804"
hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\1","FileName",,"ieeula.chm"
hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\1","Location",,"C:\WINDOWS\help\MUI\0804"
hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\10","FileName",,"jsdebuggeride.dll.mui"
hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\10","Version",,"8.0.6001.18702"
hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\10","Location",,"C:\Program Files\Internet Explorer\zh-cn"
hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\100","FileName",,"JSProfilerCore.dll.mui"
hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\100","Version",,"8.0.6001.18702"
hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\100","Location",,"C:\Program Files (x86)\Internet Explorer\zh-tw"
................
hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\901","FileName",,"wininet.dll.mui"
hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\901","Version",,"8.0.6001.18702"
hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\901","Location",,"C:\WINDOWS\SysWOW64\sv-se"

想从中提取zh-cn相关的所有行,百度一个批处理
@echo off
setlocal enabledelayedexpansion
cd.>b.txt
for /f "delims=" %%i in  ('more TT1.txt^|findstr /i /c:"zh-cn"') do (
set "str=%%i"
set str=!str:"zh-cn"=!
echo !str!>>b.txt
)

只能得到b.txt如下:
hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\6","Location",,"C:\Program Files\Internet Explorer\zh-cn"
hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\7","Location",,"C:\Program Files\Internet Explorer\zh-cn"
hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\8","Location",,"C:\Program Files\Internet Explorer\zh-cn"
................
hklm,"SOFTWARE\Microsoft\Updates\Windows Server 2003\SP0\IE8-MUI\Filelist\81","Location",,"C:\WINDOWS\SysWOW64\zh-cn"

可知含“\6”-“\81”顺序的所有行是我所需,希望得到的结果是提取TT1.txt中含“\6”-“\81”顺序的所有行到一个新文件
手工提取太慢,由此想到该命题,如何循环嵌套还真不会
回复

使用道具 举报

4#
发表于 2013-9-15 23:20:10 | 只看该作者
  1. type TT1.txt|1>Result.txt findstr "\\[6-9]" \\[1-7][0-9]" \\8[0-1]""
复制代码
回复

使用道具 举报

5#
 楼主| 发表于 2013-9-16 07:09:21 | 只看该作者
非常感谢!测试完全达到要求,看似简单的代码真是太神奇了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-15 07:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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