我想找到注册表的指定值,如果它存在,就去执行作业
这里使用了我的脚本,但没有成功
: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
)我说错了什么?请帮帮忙
发布于 2018-08-19 20:02:57
使用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
)发布于 2018-08-20 02:25:54
根据我的评论,最简单的方法是从潜在匹配中排除第一行:
Reg Query "HKLM\SOFTWARE\WOW6432Node\KasperskyLab\AVP19.0.0\settings" /V "EnableSelfProtection" 2>Nul | Find /V "HKLM" | Find "1" >Nul ...您甚至可能希望使用x1而不是1来提供更多的确定性。
https://stackoverflow.com/questions/51917172
复制相似问题