Показать полную графическую версию : [решено] Bat ищет ключ реестра и
Доброго времени суток, помогите плиз читал похожие темы но что то ни как не могу сворганить что то подобное короче нужно что бы батник залез в реестр HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartme nu посмотрел если там ключ {645FF040-5081-101B-9F08-00AA002F954E} если есть то goto ну и если нет соответственно .... помогите плиз
да и заодно второй вопросик похожий тот же батник чтобы сравнил имя сетевого подключения например если имя "Подключение по локальной сети" то goto ну и если нет соответственно ЗАРАНЕЕ БЛАГОДАРЕН
Foreigner
12-11-2011, 16:29
zion87,
@echo off
setlocal
set "regpath=hkcu\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartme\{645 FF040-5081-101B-9F08-00AA002F954E}"
1>nul 2>&1 reg query "%regpath%" && goto:1 || goto:eof
:1
echo %regpath% exists
God_Zilla
13-11-2011, 07:33
Или так:
@echo off
For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartme"^|Find /I "{645FF040-5081-101B-9F08-00AA002F954E}"`) Do goto stop
echo key no exists
pause
exit
:stop
echo key exists
pause
exit
Спасибо огромное God_Zilla, второй сработал отлично!!!!!!!
теперь надо разобраться с сетевым подключением....
буду ждать ответов
AlexThePeacemaker
21-11-2011, 11:51
А можно как-нибудь получить значение параметра?
Например, прогамма прописывается в ветку реестра HKEY_LOCAL_MACHINE\SOFTWARE\Application
В ветке находится параметр AppPath=C:\Program Files\Application
Можно ли получить значение AppPath и сделать его переменной (set X=AppPath)?
sLiDeR-X
21-11-2011, 13:03
AlexThePeacemaker,
@echo off
set Application=7-Zip
set AppPath=path
REG QUERY HKLM\SOFTWARE\%Application% /v %AppPath%>1.txt
findstr /I "%AppPath%" 1.txt>2.txt
for /f "tokens=3 delims= " %%a in (2.txt) do set X=%%a
echo Переменной X присвоено значение %X%
del /q 1.txt
del /q 2.txt
pause
Foreigner
21-11-2011, 19:38
@echo off
setlocal
set "regpath=HKEY_LOCAL_MACHINE\SOFTWARE\APPLICATION"
for /f "tokens=3*" %%i in (' reg query "%regpath%" /v "APPPATH" ') do call:set %%i %%j
echo %X%
goto:eof
:set
set "X=%*"
Красным выделены твои названия ключа и параметра
AlexThePeacemaker
26-11-2011, 11:40
А если значения "Application" и "AppPath" содержат пробелы?
Foreigner
26-11-2011, 13:25
А если значения "Application" и "AppPath" содержат пробелы? »
Какая разница, с пробелом или без? Вот если параметр "AppPath" в своем названии ( не значении ) будет содержать пробел, например "App Path", вот тогда надо менять токен:
for /f "tokens=4*" %%i in (' reg query "%regpath%" /v "APP PATH" ') do ....
AlexThePeacemaker
26-11-2011, 17:02
Foreigner, дело в том, что APPLICATION может иметь значение типа "Mega Soft"
Foreigner
26-11-2011, 17:28
дело в том, что APPLICATION может иметь значение типа "Mega Soft" »
И что?
AlexThePeacemaker
27-11-2011, 12:46
То, что несмотря на кавычки вместо пути к программе в результате выдается "VERSION 3.0", хотя такого значения вообще нет в искомой ветке реестра. Кстати, такого значения как "VERSION 3.0" вообще нет у меня в реестре
AlexThePeacemaker, зато есть в выводе «reg.exe» ;).
P.S. Имеет смысл начинать учиться.
Foreigner
27-11-2011, 14:52
AlexThePeacemaker,
Приведи конкретный пример ключа реестра и его параметров. Например где все с пробелами:
@echo off
setlocal
set "regpath=HKEY_CURRENT_USER\Software\Opera Software"
for /f "tokens=5*" %%i in (' reg query "%regpath%" /v "Last CommandLine v2" ') do call:set %%i %%j
echo %X%
goto:eof
:set
set "X=%*"
Получаю:
C:\Program Files (x86)\Opera\Opera.exe /uninstall
Ну и конечно reg delete "hkcu\software\opera software" /f
Foreigner
27-11-2011, 15:19
Чтоб не считать токены вручную:
@echo off
setlocal
set "regkey=HKEY_CURRENT_USER\Software\Some Test Key"
set "regparam=Parameter of Key"
set "tok=2"
for %%i in (%regparam%) do set /a tok+=1
for /f "tokens=%tok%*" %%i in (' reg query "%regkey%" /v "%regparam%" ') do call:set %%i %%j
echo %X%
goto:eof
:set
set "X=%*"
To что зеленым -- изменяемая часть, сам ключ и нужный параметр ключа.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.