标题: 求助从众多INF文件中删除包含有指定字符串的行?
[打印本页]
作者: hdj20030403
时间: 2007-1-13 05:30
标题: 求助从众多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 要如何才能保存结果啊!
或者用其它的方法可以实现.
作者: lxmxn
时间: 2007-1-13 15:47
@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
作者: hdj20030403
时间: 2007-1-13 22:41
首先非常谢谢帮助解答!
不过这个答案还不完全解决问题,如果有的INF文件是存在于D:\A\B中,那么已经处理过的INF文
件是会放在D:\A目录下,而不是D:\A\B.还有一个问题,就是如何删除包含有指定字符串的INF文件?因为在
这些INF文件中有的是用于64位系统的.比如:要将包含有"%MfgName%=Realtek,NTamd64"这个字符串的INF
文件都删除.
作者: lxmxn
时间: 2007-1-14 22:03
@echo off
set MfgName=
for /f "delims=" %%a in ('findstr /m /s "%MfgName%=Realtek,NTamd64" *.inf') do (
del "%%a"
echo "%%a" has been Deleted.
)
pause
作者: hdj20030403
时间: 2007-1-14 22:22
再次感谢!那个子目录问题有没有办法解决啊!
作者: lxmxn
时间: 2007-1-15 12:28
已经可以解决子文件夹的问题了。
作者: hdj20030403
时间: 2007-1-15 21:09
Quote: |
Originally posted by lxmxn at 2007-1-14 11:28 PM:
已经可以解决子文件夹的问题了。 |
|
要如何解决啊!
作者: lxmxn
时间: 2007-1-16 15:14
你运行了4楼的代码了没?这个可以处理子文件夹中的文件的。
作者: nipo
时间: 2008-5-10 01:57
以前没搜索到这个贴子。