要实现上面说的功能就必须要用到批处理操作注册表命令「REG QUERY」,这个命令的大体功能就是可以查询相关注册表项目。
先来看下「REG QUERY」命令介绍:
REG QUERY KeyName [/v ValueName | /ve] [/s]
KeyName [\Machine\]FullKey
Machine 远程机器名 – 忽略当前机器的默认值,远程机器上只有 HKLM 和 HKU。FullKey 格式为 ROOTKEY\SubKey。ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]SubKey 所选 ROOTKEY 下的注册表项的全名。
/v 参数的意思是查询特定注册表项,ValueName 所选项下的要查询的值的名称,省略时,该项下的所有值都会得到查询。
/ve 查询默认值或空白值名称<no name>
/s 查询所有子项和值
例如:
REG QUERY HKLM\Software\Microsoft\ResKit /v Version 显示注册表值 Version 的值
REG QUERY HKLM\Software\Microsoft\ResKit\rt\Setup /s 显示注册表项 Setup 下的所有子项和值
现在知道「REG QUERY」命令可以读取注册变项目并返回相关结果,就可以通过批处理根据返回值来写注册表了。
先看下下面完整的一个实例代码,是刚发布「
ICL-Icon Extractor 5.12 绿色特别版│好用图标批量搜索提取工具
」软件的绿化源码:
-
@echo off
-
reg query HKCU\Software\IconEmpire\IconExtractor\Registered /v Key>nul 2>nul&&goto A||goto B
-
:A
-
start iconextract.exe
-
exit
-
:B
-
start iconextract.exe
-
reg add "HKEY_CURRENT_USER\Software\IconEmpire\IconExtractor\Registered" /v "Key" /d "9m888x9998888p" /f
-
reg add "HKEY_CURRENT_USER\Software\IconEmpire\IconExtractor\Registered" /v "UserName" /d "V5PC" /f
-
reg add "HKEY_CURRENT_USER\Software\IconEmpire\IconExtractor\Registered" /v "Email" /d "V5PC@PC.COM" /f
-
start iconextract.exe
-
exit
-
pause>nul
好接下来简单分析下这个代码:
-
reg query HKCU\Software\IconEmpire\IconExtractor\Registered /v Key>nul 2>nul&&goto A||goto B
由于这个程序的注册表信息保存在「HKCU\Software\IconEmpire\IconExtractor\Registered」「Key」这个值项中,所以通过「reg query」命令来读取这个值项中有没有数据。
「/V」参数就是只读指定「Key」中的数据。
「2>nul」是不显示错误提示,如果是「1>nul」意思是不显示命令运行的正确提示,「>」是重定向符号,「nul」是空设备的意思。
「&&」顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令。
「||」 顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令。
「goto A」和「goto B」是跳转指令,具体要跳到那里「A」还是「B」就要看返回值了并且是通过「||」控制走向。
-
:A
-
start iconextract.exe
-
exit
下面的指令就简单了,如果跳转到A就通过下面的「start」运行程序就行了,「exit」是退出。
-
:B
-
start iconextract.exe
-
reg add "HKEY_CURRENT_USER\Software\IconEmpire\IconExtractor\Registered" /v "Key" /d "9m888x9998888p" /f
-
reg add "HKEY_CURRENT_USER\Software\IconEmpire\IconExtractor\Registered" /v "UserName" /d "V5PC" /f
-
reg add "HKEY_CURRENT_USER\Software\IconEmpire\IconExtractor\Registered" /v "Email" /d "V5PC@PC.COM" /f
-
start iconextract.exe
-
exit
-
pause>nul
如果跳转到B就通过「reg add」添加注册表项,后面同样也是通过「start」运行程序,「exit」代码退出,最后一句「pause」是暂停这句多余了,因为不等走到这句代码就已经退出了。
本文来自:
http://www.gtxp2.com/zjpwk/370.html
批处理检测注册表项目是否存在并运行指定命令要实现上面说的功能就必须要用到批处理操作注册表命令「REG QUERY」,这个命令的大体功能就是可以查询相关注册表项目。先来看下「REG QUERY」命令介绍:REG QUERY KeyName [/v ValueName | /ve] [/s]KeyName [\Machine\]FullKeyMachine 远程机器名 – 忽略当...
前段时间我们公司发布的Window应用出现了个Bug,这让用户无法正常登录应用。
出现的问题:
当用户登录时记住登录的账号密码,方便下一次快捷登录进来,这里前期的测试都是OK的在Window电脑上,这时当用户记住密码登录后退出应用再次进入的时候,这时候网络不稳定的因素出现了,服务器
判断
密码错误,这时候Unity前端这块应该是登录
判断
的逻辑有遗漏点,所以造成了上述说的现象。
那么这里我来说...
找到
注册表
的位置
钉钉
注册表
的位置为:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\钉钉
获取该位置下的某个
注册表
项
我们需要获取UninstallString
项
对应的
BAT
语句为,/v之前为
注册表
的位置,/v之后为所需要的的
注册表
项
。
REG QUERY "HKEY_LOC
首先用【win+r】打开
运行
窗口,然后执行【regedit】打开
注册表
编辑器。在cmd窗口中执行
命令
【regedit】也可打开。执行【reg /?】,即可显示帮助信息。
我们从这个大体的帮助信息也可知道,它有查询、添加、删除、复制、保存、重置、加载、卸载、对比、输出、导入、标志的选
项
。那么如果想知道每一个选
项
怎么用,可以用类似【reg query /?】的
命令
来查看。打印
注册表
查询
命令
的帮助信息,执行
命令
【reg query /?】。
例如查询我们电脑的启动
项
的信息,可以执行
命令
【reg quer
Operation [ QUERY | ADD | DELETE | COPY |
SAVE | LOAD | UNLOAD | RESTORE |
COMPARE | EXPORT | IMPORT | FLAGS ]
作为AI语言模型,我无法在您的计算机上直接访问
注册表
。不过,以下可能会对您有所帮助:
1. 请确保您正在打开正确的
注册表
路径。尤其是在 Windows 10 中,
注册表
在不同的版本中可能有所不同,因此要仔细检查您的路径是否正确。
2. 如果您确定路径正确,但仍然无法打开,请尝试使用管理员账户登录计算机并再次尝试打开
注册表
。
3. 如果以上两种方法都没有解决问题,可能是由于权限问题或计算机中
存在
恶意软件导致
注册表
受损。建议您使用安全软件进行扫描,并查看是否有相关的权限设置需要更改。
netboybbs:
批处理检测注册表项目是否存在并运行指定命令
许-默-沉:
BAT批处理创建文件桌面快捷方式
jixhua:
BAT批处理创建文件桌面快捷方式
BAT批处理创建文件桌面快捷方式