中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 各位大神请教个判断的问题 上一主题 | 下一主题
ydfan8888
初级用户





积分 60
发帖 20
注册 2016-3-30
状态 离线
『楼 主』:  各位大神请教个判断的问题

如下是代码:
echo off&setlocal enabledelayedexpansion
cd /d %~dp0
for /f "tokens=7* delims=\" %%i in ('reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall') do (
    echo 当前扫描信息: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%%~i  
    reg export "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%%~i" reg.$ >nul
    for /f "delims=" %%j in ('type reg.$ ^| findstr /i /c:"DisplayName" 2^>nul') do (
        set DN=%%~j
        set DN=!DN:"=!
        set !DN!
    )
    for /f "delims=" %%k in ('type reg.$ ^| findstr /i /c:"InstallLocation" 2^>nul') do (
        set IL=%%~k
        set IL=!IL:"=!
        set IL=!IL:\\=\!
        set !IL!
    )
    if not defined DisplayName set DisplayName=没有信息。
    if not defined InstallLocation set InstallLocation=没有信息。
    (echo  ++++++++
    echo  注册表值: %%~i
    echo  软件名称: !DisplayName!
    echo  安装路径: !InstallLocation!
    echo,)>>1.txt
    set DisplayName=&set InstallLocation=&del reg.$
)



会生成一个txt文件,大致如下:

++++++++
注册表值: AddressBook
软件名称: 没有信息。
安装路径: 没有信息。

++++++++
注册表值: Adobe Flash Player ActiveX
软件名称: Adobe Flash Player 20 ActiveX
安装路径: 没有信息。

++++++++
注册表值: Connection Manager
软件名称: 没有信息。
安装路径: 没有信息。

++++++++
注册表值: DirectDrawEx
软件名称: 没有信息。
安装路径: 没有信息。


我想得到的效果是:
如果:软件名称:没有信息。对应的四行就不要写进文本里面。
这样上面的文本就只会显示如下信息:


++++++++
注册表值: Adobe Flash Player ActiveX
软件名称: Adobe Flash Player 20 ActiveX
安装路径: 没有信息。


请问各位怎么修改。谢谢

2016-3-31 14:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: