各位大佬,我的需求是要查询【HKEY_USERS\S-1-5-21-1686123356-269546589-3369588923-1000\SOFTWARE\ABC\EFG\Servers】里各个子项内是否存在【HTTP_ProxyPort】的键值,如果有则删除包含该键值的子项,
当前遇到的问题是,子项名的尾部如果包含空格或者制表符tab,则会报错【错误: 系统找不到指定的注册表项或值。】
注册表结构如下:
【HKEY_USERS\S-1-5-21-1686123356-269546589-3369588923-1000\SOFTWARE\ABC\EFG\Servers】
--【HKEY_USERS\S-1-5-21-1686123356-269546589-3369588923-1000\SOFTWARE\ABC\EFG\Servers\CBH-aaa】
------【键值:HTTP_ProxyPort】
--【HKEY_USERS\S-1-5-21-1686123356-269546589-3369588923-1000\SOFTWARE\ABC\EFG\Servers\SAIS 】
------【键值:HTTP_ProxyPort】
我的bat脚本:- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('reg query HKEY_USERS\S-1-5-21-1686123356-269546589-3369588923-1000\SOFTWARE\ABC\EFG\Servers') do (
- for /f "tokens=2* delims= " %%b in ('reg query "%%a" /v HTTP_ProxyPort') do (
- set tmpv=%%c
- if /I "!tmpv!" neq nul (
- reg delete "%%a" /f
- )
- )
- )
复制代码 拜托指教,非常感谢 |