中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-23 13:29
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行
DOS批处理 & 脚本技术(批处理室) » 各位大神请教个判断的问题
可打印版本  2,481 / 0
第1楼 ydfan8888 发表于 2016-03-31 14:25
初级用户 发帖 20 积分 60
各位大神请教个判断的问题
如下是代码:
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
安装路径: 没有信息。


请问各位怎么修改。谢谢
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023