中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 12:12
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 求助从众多INF文件中删除包含有指定字符串的行?
可打印版本  1,068 / 8
第1楼 hdj20030403 发表于 2007-01-13 05:30
初级用户 发帖 15 积分 40
求助从众多INF文件中删除包含有指定字符串的行?
在做驱动精简时碰到一个问题?当从驱动包加精简某个文件时,也要从INF文件中删除该文件的信息.
比如:在d:\A目录下包含有诸多INF文件(有子目录的),要在这些INF文件中删除含有"SoundMan.exe"的行.

如果只处理单个INF文件,我用下面的方法.
findstr /i /v SoundMan.exe d:\A\Alcwdm.inf >d:\temp\tem.Alcwdm.inf
move /y d:\temp\tem.Alcwdm.inf d:\A\Alcwdm.inf

若用findstr /s /i /v SoundMan.exe d:\A\*.inf 要如何才能保存结果啊!
或者用其它的方法可以实现.
第2楼 lxmxn 发表于 2007-01-13 15:47
版主 发帖 4,938 积分 11,386

@echo off
for /f "delims=" %%a in ('dir /s/b/a-d D:\A\*.inf') do (
findstr /i /v "SoundMan.exe" "%%a" >>d:\temp\tem.%%~nxa
move /y d:\temp\tem.%%~nxa d:\A\%%~nxa
)
pause
第3楼 hdj20030403 发表于 2007-01-13 22:41
初级用户 发帖 15 积分 40
首先非常谢谢帮助解答!
不过这个答案还不完全解决问题,如果有的INF文件是存在于D:\A\B中,那么已经处理过的INF文

件是会放在D:\A目录下,而不是D:\A\B.还有一个问题,就是如何删除包含有指定字符串的INF文件?因为在

这些INF文件中有的是用于64位系统的.比如:要将包含有"%MfgName%=Realtek,NTamd64"这个字符串的INF

文件都删除.
第4楼 lxmxn 发表于 2007-01-14 22:03
版主 发帖 4,938 积分 11,386
第5楼 hdj20030403 发表于 2007-01-14 22:22
初级用户 发帖 15 积分 40
再次感谢!那个子目录问题有没有办法解决啊!
第6楼 lxmxn 发表于 2007-01-15 12:28
版主 发帖 4,938 积分 11,386

  已经可以解决子文件夹的问题了。
第7楼 hdj20030403 发表于 2007-01-15 21:09
初级用户 发帖 15 积分 40
Originally posted by lxmxn at 2007-1-14 11:28 PM:

  已经可以解决子文件夹的问题了。

要如何解决啊!
第8楼 lxmxn 发表于 2007-01-16 15:14
版主 发帖 4,938 积分 11,386

  你运行了4楼的代码了没?这个可以处理子文件夹中的文件的。
第9楼 nipo 发表于 2008-05-10 01:57
中级用户 发帖 106 积分 228
以前没搜索到这个贴子。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023