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

[文本处理] [已解决]批处理如何去除含特定字符的项(特定字符不止一个)?

本帖最后由 batpro 于 2011-7-9 09:30 编辑

在1.txt中有:
版主手下留情,我要用颜色说明情况

============================================================================
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
→  <Vistadrv><C:\Program Files\vsdrv\vsdrv.exe>[]  

→  <AzMixerSel><C:\Program Files\Realtek\InstallShield\AzMixerSel.exe>  [Realtek Semiconductor Corp.]
→  <RTHDCPL><RTHDCPL.EXE>  [Realtek Semiconductor Corp.]
→  <Alcmtr><ALCMTR.EXE>  [Realtek Semiconductor Corp.]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
→  <Adobe Reaed Launcher>[N/A]

===================================================
  1. 如何生成2.txt?
  2. [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
  3. →  <Vistadrv><C:\Program Files\vsdrv\vsdrv.exe>[]
  4. ][HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
  5. →  <Adobe Reaed Launcher>[N/A]
复制代码
文件描述下,我的意思是要把1.txt中所有含【含公司数字签名的部分】替换为空,
从而得到2.txt
如何写这代码呢?
1

评分人数

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

本帖最后由 batpro 于 2011-7-8 17:42 编辑

这边讨论下我以前的代码
  1. cd.>temp.txt
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=*" %%i in (1.txt) do (
  4. set var=%%i
  5. set "var=!var:[Realtek Semiconductor Corp.]=正常!"
  6. echo !var!>>temp.txt
  7. )
  8. @findstr /v "正常" temp.txt >>2.txt
复制代码
这个代码可以用,但是在实际操作中需要添加太多的白名单了

而[N/A]和[]、[File is missing]只有三项,所有请求下如何写能添加黑名单的代码

TOP

如何把上面的代码中
set "var=!var:[Realtek Semiconductor Corp.]=正常!"

变成:[任意值除了【N/A】/【】/【File is missing】]=正常!"

TOP

如何把上面的代码中
set "var=!var:[Realtek Semiconductor Corp.]=正常!"

变成:[任意值除了【N/A】/【】/【File is missing】]=正常!"

TOP

5# ArdentMan


代码中不应出现:[Realtek Semiconductor Corp.]
因为只是个例子而已,具体值很多 应该出现[N/A]、[]和[File is missing ]

TOP

本帖最后由 batpro 于 2011-7-8 18:47 编辑

7# ArdentMan

谢谢兄弟的辛苦

不过我要说的是,你给的第一个代码和第二个代码出来的结果不同,结果应该是
  1. [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
  2. →  <Vistadrv><C:\Program Files\vsdrv\vsdrv.exe>[]   
  3. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
  4. →  <Adobe Reaed Launcher>[N/A]
复制代码
而你的第二个代码只是

这个结果
  1. →  <Vistadrv><C:\Program Files\vsdrv\vsdrv.exe>[]   
  2. →  <Adobe Reaed Launcher>[N/A]
复制代码
错在:其他部分没了

TOP

9# ArdentMan


太棒了,
坚定的相信这里确实高手如云
我想到的,你能办到
我没想到的,你想到了
所以
谢谢你兄弟,谢谢bathome!

TOP

返回列表