![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 14:56 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]提取文件中格式类似的字符[有点难坛论没见过的] |
| 可打印版本 2,697 / 23 |
| 第1楼 baikaifang | 发表于 2007-06-02 23:23 |
| 初级用户 发帖 32 积分 68 | |
|
[求助]提取文件中格式类似的字符[有点难坛论没见过的] 提取文件中格式类似的字符,这些文件并不在同一个目录
先说明一下: 需要提取内容的文件,分布在不同的文件夹内.并且所在的文件夹层次也不一样. 同时还要在输出的内容后面追加该文件的路径 这是文件夹结构: C:\SRS-DRV ├─3 │ ├─1 │ │ └─O │ ├─2 │ └─3 ├─A │ ├─1 │ ├─2 │ ├─3 │ ├─4 │ ├─5 │ ├─6 │ ├─7 │ └─8 ├─AD │ ├─1 │ ├─2 │ ├─3 │ ├─4 │ ├─5 │ ├─6 │ │ └─C │ ├─7 │ ├─8 │ ├─9 │ └─A ├─AM ├─AR ├─AT ├─AU │ ├─1 │ ├─2 │ └─3 ├─C ├─D │ ├─1 │ ├─2 │ └─3 ├─E ├─H │ ├─1 │ │ └─R │ ├─2 │ ├─3 │ ├─4 │ ├─5 │ ├─6 │ │ └─2k3 │ ├─7 │ └─8 ├─I │ ├─1 │ ├─2 │ ├─3 │ ├─4 │ ├─5 │ └─6 ├─IN │ ├─1 │ │ └─O │ └─2 │ └─winnt │ └─x86 ├─IT ├─J │ ├─1 │ └─2 ├─L │ ├─1 │ ├─2 │ ├─3 │ ├─4 │ └─5 ├─M │ └─O ├─N │ ├─123 │ ├─4 │ │ ├─I │ │ └─R │ ├─4INTEL │ │ ├─I │ │ └─R │ ├─590SLI │ │ ├─I │ │ └─R │ └─TM ├─P │ ├─1 │ ├─2 │ │ └─A │ ├─3 │ ├─4 │ ├─5 │ ├─6 │ ├─7 │ ├─8 │ └─9 ├─Q │ ├─1 │ ├─2 │ ├─3 │ └─4 ├─S │ ├─1 │ ├─2 │ ├─3 │ ├─4 │ ├─5 │ │ └─A │ ├─6 │ ├─7 │ │ └─A │ ├─8 │ ├─9 │ ├─A │ ├─B │ └─C ├─SI │ ├─1 │ ├─2 │ └─3 ├─V │ ├─1 │ ├─2 │ └─3 └─VM 基本上每个文件夹下面都有一个扩展名为.INF的文件,如果那个INF文件中有和下面红色部分类似的内容就将它输出到1.TXT中(有的文件里有多行这样的,要全部都输出),并且将该文件的路径追加到输出文本的后面。(如果某个文件中有多处符合条件的,就全部输出,并且在每一行后面添加该文件的路径,例如后面几行蓝色的) 例如: PCI\VEN_13C1&DEV_1000=C:\SRS-DRV\3\3\oemsetup3.inf PCI\VEN_1191&DEV_0002&SUBSYS_00021191=C:\SRS-DRV\A\1\Aec6210.inf PCI\VEN_1191&DEV_0006&SUBSYS_00061191&REV_01=C:\SRS-DRV\A\2\Aec6260.inf PCI\VEN_1022&DEV_7409=C:\SRS-DRV\AM\AMDEIDE.inf PCI\VEN_1022&DEV_7411=C:\SRS-DRV\AM\AMDEIDE.inf PCI\VEN_1022&DEV_7441=C:\SRS-DRV\AM\AMDEIDE.inf PCI\VEN_1022&DEV_7469=C:\SRS-DRV\AM\AMDEIDE.inf 前面的部分是从文件里面提出来的,等号后面是提取内容的文件的路径. 要提取的内容有几个相似的特点: 1 都是以PCI\VEN开头.(注意:这里是指我要提取的内容是以PCI\VEN开头,并非该内容所在的行是PCI\VEN开头.只需要PCI\VEN之间包含一个"\"的内容,超过一个"\"以上的都不是需要的) 2 内容中有两种分隔符"_"和"&",并且分隔符的数量不一样. 下面的链接页面的文件,是上面制作1.TXT文件用到的,上面的目录树结构就是该链接文件的. http://driverpacks.net/DriverPacks/download.php?pag=m 所用到的文件上面链接页面有下载,我的等级太低了,现在好像还无法上传附件! 在这里先感谢各位大侠们了. 希望用批处理实现上面功能的初衷: 原帖引用之龙帝国论坛 由 eyeshare 于 07-5-3 11:07 发表 引用文章原贴地址http://bbs.mscode.cc/thread-51438-1-2.html [ Last edited by baikaifang on 2007-6-3 at 08:04 PM ] |
|
| 第2楼 namejm | 发表于 2007-06-03 15:09 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
放了那么久都没人理睬,我来试试看。
先问问楼主:"前面的部分是从文件里面提出来的",这个文件到底什么样?你最好把它作为附件发出来。 |
|
| 第3楼 electronixtar | 发表于 2007-06-03 15:14 |
| 铂金会员 发帖 2,672 积分 7,493 | |
|
不要拿难来吓人
findstr /r /i "PCI\\VEN.*&DEV_" |
|
| 第4楼 wudixin96 | 发表于 2007-06-03 15:20 |
| 银牌会员 发帖 931 积分 1,928 | |
|
偶试过了。他的文件夹下的inf文件里的内容极不规则的。
PCI\\VEN.*&DEV前时不时有空格等出现。 要过滤好几次才能提出来。 希望namejm、electronixtar等老大能出个效率高的。期待…… |
|
| 第5楼 lxmxn | 发表于 2007-06-03 15:39 |
| 版主 发帖 4,938 积分 11,386 | |
|
不明白怎么1.txt文件里面的=号后面的文件路径和上面文件夹的树形结构不一样了,汗。。
|
|
| 第6楼 wudixin96 | 发表于 2007-06-03 15:44 |
| 银牌会员 发帖 931 积分 1,928 | |
|
PCI\\\VEN为什么有三个\。不是两个吗?
而且inf文件里的结构是这样的%DEVICE_DESCRIPTION% = Install, PCI\VEN_13C1&DEV_1002&SUBSYS_100213C1 并不是以PCI\VEN打头的。 不好意思。想复杂了。多余了。 [ Last edited by wudixin96 on 2007-6-3 at 04:12 PM ] |
|
| 第7楼 lxmxn | 发表于 2007-06-03 15:49 |
| 版主 发帖 4,938 积分 11,386 | |
Originally posted by wudixin96 at 2007-6-3 15:44: 第一个\对第二个\取消转义,得到一个“真实”的\,然后这个\去取消第三个\的特殊意义。(我是这样理解的) 至于不是以PCI\VEN打头,我是看楼主的说明这样写的:
|
|
| 第8楼 baikaifang | 发表于 2007-06-03 19:07 |
| 初级用户 发帖 32 积分 68 | |
Originally posted by namejm at 2007-6-3 15:09: 所用到的文件,就是一楼最下面那个链接下载的呀. |
|
| 第9楼 baikaifang | 发表于 2007-06-03 19:10 |
| 初级用户 发帖 32 积分 68 | |
Originally posted by electronixtar at 2007-6-3 15:14: electronixtar 大侠,我只会一些简单的批处理,把贴子标题写成那样,只希望能得到各位大侠的帮忙,请别见怪! [ Last edited by baikaifang on 2007-6-3 at 07:48 PM ] |
|
| 第10楼 baikaifang | 发表于 2007-06-03 19:23 |
| 初级用户 发帖 32 积分 68 | |
Originally posted by wudixin96 at 2007-6-3 15:44: 不好意思,是我表达的模糊了一点,我所指的以PCI\VEN开头,是我要提取的内容都是PCI\VEN开头的,并不是在以PCI\VEN开头所在的行. |
|
| 第11楼 baikaifang | 发表于 2007-06-03 19:32 |
| 初级用户 发帖 32 积分 68 | |
Originally posted by lxmxn at 2007-6-3 15:39: |
|
| 第12楼 baikaifang | 发表于 2007-06-04 16:28 |
| 初级用户 发帖 32 积分 68 | |
|
等了一天了没人顶,自己来一下
|
|
| 第13楼 terse | 发表于 2007-06-04 16:34 |
| 银牌会员 发帖 946 积分 2,404 | |
|
lxmxn版主不是帮写好了?
|
|
| 第14楼 lxmxn | 发表于 2007-06-04 16:38 |
| 版主 发帖 4,938 积分 11,386 | |
Originally posted by baikaifang at 2007-6-4 16:28: 不要怪别人没有看,你的意思根本没有说清楚,所以大家也懒得看了。 说不清楚举个例子出来,不要说一些有歧义的话。 |
|
| 第15楼 terse | 发表于 2007-06-04 18:03 |
| 银牌会员 发帖 946 积分 2,404 | |
|
@echo off
for /f "tokens=1* delims=:" %%i in ('findstr /risc:"PCI\\\VEN_....&" *.inf') do ( echo %%j=%%~fdpi >>123.txt ) pause 在lxmxn版主的写的上面多个路径 是不是你要的? |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |