我想找到一个指定的注册表值,如果存在,那就去执行作业
我的脚本在这里使用但不成功
:SkinReplacementKIS64
CLS
ECHO.
REG Query "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\KasperskyLab\AVP19.0.0\settings" /v "EnableSelfProtection" |find "1" >nul & IF %ErrorLevel% EQU 0 (
ECHO.
ECHO Please disable Kaspersky self-defense first before doing the action!
ECHO.
pause
GOTO SkinReplacementKIS64
) else (
CLS
ECHO ***************************************************************************************
ECHO Kaspersky Tweaker v1.4 for KFA, KAV, KIS, KTS, KSC (19.0.0.1088)
ECHO ***************************************************************************************
ECHO.
net stop AVP19.0.0
dark_skin_kis.exe /p12345678
net start AVP19.0.0
ECHO.
pause
GOTO KIS64
)
我怎么了?请帮助
答案 0 :(得分:0)
使用for /f
获取测试值吗?
@echo off
:SkinReplacementKIS64
CLS
ECHO.
for /f "delims=" %%a in ('REG Query "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\KasperskyLab\AVP19.0.0\settings" /v "EnableSelfProtection"') do set "$val=%%a"
if %$val%==1 (
ECHO.
ECHO Please disable Kaspersky self-defense first before doing the action!
ECHO.
pause
GOTO SkinReplacementKIS64
) else (
CLS
ECHO ***************************************************************************************
ECHO Kaspersky Tweaker v1.4 for KFA, KAV, KIS, KTS, KSC (19.0.0.1088)
ECHO ***************************************************************************************
ECHO.
net stop AVP19.0.0
dark_skin_kis.exe /p12345678
net start AVP19.0.0
ECHO.
pause
GOTO KIS64
)
答案 1 :(得分:0)
根据我的评论,最简单的方法是从您的潜在匹配中排除第一行:
Reg Query "HKLM\SOFTWARE\WOW6432Node\KasperskyLab\AVP19.0.0\settings" /V "EnableSelfProtection" 2>Nul | Find /V "HKLM" | Find "1" >Nul ...
您甚至可能希望使用x1
而不是1
来提供更多确定性。