![]() |
中国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 |