VladoSer
06-10-2021, 11:30
Здравствуйте, подскажите, пожалуйста в написании скрипта.
Делаю проверку на наличие раздела реестра таким образом, правильно ли?
::Установить раздел реестра
set Compatibility="HKCR\exefile\shellex\ContextMenuHandlers\Compatibility"
::Проверить раздел реестра
reg query %Compatibility% >nul 2>&1
::Если раздел реестра существует, занести в переменную
if "%errorlevel%"=="0" (set "GiveAcces6=Присутствует.")
::Если раздел не существует
if "%errorlevel%"=="1" (set "GiveAcces6=Отсутствует.")
set ModernSharing="HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\ModernSharing"
reg query %ModernSharing% >nul 2>&1
if "%errorlevel%"=="0" (set "GiveAcces5=Присутствует.")
if "%errorlevel%"=="1" (set "GiveAcces5=Отсутствует.")
echo Параметр: %GiveAcces6%
echo Параметр: %GiveAcces5%
Если все правильно, то движемся дальше.
Как сделать проверку сразу этих 2 разделов реестра?, и вывести сообщение вида
Необходимость удаления: присутствует(если существует хоть 1 из этих разделов)/отсутсвует(если этих разделов нет)
нашел такой код, но разобраться в нем не могу:
@echo off
cls & color 0A & echo.
Mode con cols=70 lines=5
Title Check Startup Registry Keys
Set TmpLogFile=TmpLogkey.txt
Set LogFile=Startup_key_Log.txt
If Exist %TmpLogFile% Del %TmpLogFile%
If Exist %LogFile% Del %LogFile%
Set mykey="HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"^
^ "HKCU\Software\Microsoft\Windows\CurrentVersion\Run"^
^ "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"^
^ "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run"^
^ "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run"^
^ "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options"
Echo.
ECHO **************************************
ECHO Please wait..........
ECHO **************************************
For %%K in (%mykey%) Do Call :Check_Key %%K %TmpLogFile%
Cmd /U /C Type %TmpLogFile% > %LogFile%
Start "" %LogFile%
Exit /b
::********************************************
:Check_Key
reg QUERY %1 >nul 2>&1
(
if %errorlevel% equ 0 ( reg QUERY %1 /s
) else ( echo %1 ===^> Not found
)
) >>%2 2>&1
::********************************************
Делаю проверку на наличие раздела реестра таким образом, правильно ли?
::Установить раздел реестра
set Compatibility="HKCR\exefile\shellex\ContextMenuHandlers\Compatibility"
::Проверить раздел реестра
reg query %Compatibility% >nul 2>&1
::Если раздел реестра существует, занести в переменную
if "%errorlevel%"=="0" (set "GiveAcces6=Присутствует.")
::Если раздел не существует
if "%errorlevel%"=="1" (set "GiveAcces6=Отсутствует.")
set ModernSharing="HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\ModernSharing"
reg query %ModernSharing% >nul 2>&1
if "%errorlevel%"=="0" (set "GiveAcces5=Присутствует.")
if "%errorlevel%"=="1" (set "GiveAcces5=Отсутствует.")
echo Параметр: %GiveAcces6%
echo Параметр: %GiveAcces5%
Если все правильно, то движемся дальше.
Как сделать проверку сразу этих 2 разделов реестра?, и вывести сообщение вида
Необходимость удаления: присутствует(если существует хоть 1 из этих разделов)/отсутсвует(если этих разделов нет)
нашел такой код, но разобраться в нем не могу:
@echo off
cls & color 0A & echo.
Mode con cols=70 lines=5
Title Check Startup Registry Keys
Set TmpLogFile=TmpLogkey.txt
Set LogFile=Startup_key_Log.txt
If Exist %TmpLogFile% Del %TmpLogFile%
If Exist %LogFile% Del %LogFile%
Set mykey="HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"^
^ "HKCU\Software\Microsoft\Windows\CurrentVersion\Run"^
^ "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"^
^ "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run"^
^ "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run"^
^ "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options"
Echo.
ECHO **************************************
ECHO Please wait..........
ECHO **************************************
For %%K in (%mykey%) Do Call :Check_Key %%K %TmpLogFile%
Cmd /U /C Type %TmpLogFile% > %LogFile%
Start "" %LogFile%
Exit /b
::********************************************
:Check_Key
reg QUERY %1 >nul 2>&1
(
if %errorlevel% equ 0 ( reg QUERY %1 /s
) else ( echo %1 ===^> Not found
)
) >>%2 2>&1
::********************************************