![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Существуют ли разделы |
|
CMD/BAT - [решено] Существуют ли разделы
|
Новый участник Сообщения: 33 |
Здравствуйте, подскажите, пожалуйста в написании скрипта.
Делаю проверку на наличие раздела реестра таким образом, правильно ли? ::Установить раздел реестра 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 ::******************************************** |
|
Отправлено: 11:30, 06-10-2021 |
fascinating rhythm Сообщения: 6705
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 13:17, 06-10-2021 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 33
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
Да о чем тут говорить, я даже powershell файл не умею вызывать через bat ![]() Напишите, пожалуйста, как это сделать правильно, испытаю ваш скрипт. P.S правильно я делаю в проверку на существование раздела реестра? Хотелось бы все таки знать, чтобы не думать об этом. И, пожалуйста, коллеги или Вы, напишите альтернативу на CMD. |
|
Последний раз редактировалось VladoSer, 06-10-2021 в 13:31. Отправлено: 13:24, 06-10-2021 | #3 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Цитата VladoSer:
@Echo Off cls Set "Present=Отсутствует." >nul 2>&1 reg query "HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\ModernSharing" &&Set "Present=Присутствует." >nul 2>&1 reg query "HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\Sharing" &&Set "Present=Присутствует." Echo %Present% Pause Exit /B @Echo Off
cls
>nul 2>&1 reg query "HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\ModernSharing" &&Set /A @q1=1 || Set /A @q1=0
>nul 2>&1 reg query "HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\Sharing" &&Set /A @q2=1 || Set /A @q2=0
Set "@q"
Set "Present=Присутствует."
If %@q1%==0 If %@q2%==0 Set "Present=Отсутствует."
Echo %Present%
Pause
Exit /B
|
|
------- Отправлено: 15:40, 06-10-2021 | #4 |
Новый участник Сообщения: 33
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
![]() |
||
Отправлено: 16:13, 06-10-2021 | #5 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать VladoSer, Еще вариант:
@Echo Off
cls
Set "Present=Присутствует."
>nul 2>&1 (
reg query "HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\ModernSharing" ||(^
reg query "HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\7-Zip1" ||(^
reg query "HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\Sharing1" ||(^
reg query "HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\ANotepad++1" ||(^
reg query "HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\ModernSharing2" ||(^
reg query "HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\7-Zip2" ||(^
reg query "HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\Sharing2" ||(^
reg query "HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\ANotepad++" ||(^
Set "Present=Отсутствует."))))))))
)
Echo %Present%
Pause
Exit /B
|
------- Последний раз редактировалось megaloman, 06-10-2021 в 16:49. Отправлено: 16:41, 06-10-2021 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Существуют ли телефоны с разъёмом для микрофона. мона ли в разъём для наушников втыка | TheNiceTroy | Хочу все знать | 1 | 05-05-2012 18:33 | |
Существуют ли планшеты? | rsod | Хочу все знать | 2 | 06-12-2010 19:48 | |
Монитор - Существуют ли 32-битные мониторы? | Третий | Прочее железо | 2 | 23-04-2010 10:13 | |
существуют ли переходники? | hassisin | Видеокарты | 9 | 29-05-2009 14:42 | |
Существуют ли? | muslim | Хочу все знать | 2 | 30-05-2007 08:25 |
|