Показать полную графическую версию : [решено] Экспорт из реестра в файл
Valek271183
23-03-2014, 00:14
Нужно экспортировать список установленных браузеров и браузер по умолчанию в текстовый файл, нашёл в реестре список браузеров HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\ в этой ветке есть названия всех установленных браузеров и в их параметрах по умолчанию есть их названия, как можно их от туда извлечь и второе как извлечь строку с браузером по умолчанию (нашёл в ветке HKEY_CLASSES_ROOT\http\shell\open\command в графе по умолчанию)
Foreigner
23-03-2014, 06:31
@echo off
setlocal
set "rpath=hklm\software\clients\startmenuinternet"
1>file.txt (
for /f "tokens=5 delims=\" %%i in (' reg query "%rpath%" ') do echo %%i
for /f "tokens=2 delims==" %%i in (' ftype http ') do echo %%i
)
@echo off
chcp 1251>nul
(
for /f "delims=" %%i in ('
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet"^| findstr /i HKEY_LOCAL_MACHINE\\SOFTWARE\\Clients\\StartMenuInternet\\
') do (
for /f "tokens=3* delims= " %%j in ('
reg query "%%i" /ve
') do (
echo %%k
)
)
echo.
for /f "tokens=3* delims= " %%i in ('
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet" /ve
') do (
for /f "tokens=3* delims= " %%k in ('
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\%%j" /ve
') do (
echo %%l
)
)
)>example.txt
Valek271183
23-03-2014, 14:46
как в текстовый файл добавить фразу: Установленные браузеры и Браузер по умолчанию?
Valek271183
23-03-2014, 16:22
Georgio, Foreigner, почти всё так, только браузер по умолчанию в другой ветке HKEY_CLASSES_ROOT\http\shell\open\command как правильно это поправить?
Valek271183
23-03-2014, 19:50
Georgio, в этой ветке HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet всегда по умолчанию Internet Explorer, можно ли использовать ветку HKEY_CLASSES_ROOT\http\shell\open\command ?
Какой-то "монстр" получился:
@echo off
chcp 1251>nul
setlocal enabledelayedexpansion
(
echo Установленные браузеры:
echo.
for /f "delims=" %%i in ('
reg query "HKLM\SOFTWARE\Clients\StartMenuInternet"^| findstr /i HKEY_LOCAL_MACHINE\\SOFTWARE\\Clients\\StartMenuInternet\\
') do (
for /f "tokens=3* delims= " %%j in ('
reg query "%%i" /ve
') do (
echo %%k
)
)
echo.
echo.
echo Браузер по умолчанию:
echo.
for /f "tokens=3* delims= " %%i in ('
reg query "HKCR\http\shell\open\command" /ve
') do (
set "command=%%j"
set "command=!command:"=!"
for /f "delims=" %%k in ('
reg query "HKLM\SOFTWARE\Clients\StartMenuInternet"^| findstr /i HKEY_LOCAL_MACHINE\\SOFTWARE\\Clients\\StartMenuInternet\\
') do (
reg query "%%k" /s| >nul findstr /ic:"!command: %%1=!"&& (
for /f "tokens=3* delims= " %%l in ('
reg query "%%k" /ve
') do (
echo %%m
)
)
)
)
)>example.txt
endlocal
exit /b
Valek271183
23-03-2014, 21:31
в Браузер по умолчанию у меня пусто
Valek271183
23-03-2014, 21:55
точнее у меня по умолчанию Google Chrome, а в результате у меня пусто
A если так:
@echo off
chcp 1251>nul
(
echo Установленные браузеры:
echo.
for /f "delims=" %%i in ('
reg query "HKLM\SOFTWARE\Clients\StartMenuInternet"^| findstr /i HKEY_LOCAL_MACHINE\\SOFTWARE\\Clients\\StartMenuInternet\\
') do (
for /f "tokens=3* delims= " %%j in ('
reg query "%%i" /ve
') do (
echo %%k
)
)
echo.
echo.
echo Браузер по умолчанию:
echo.
for /f "delims=" %%i in ('
reg query "HKLM\SOFTWARE\Clients\StartMenuInternet"^| findstr /i HKEY_LOCAL_MACHINE\\SOFTWARE\\Clients\\StartMenuInternet\\
') do (
for /f "tokens=3* delims= " %%j in ('
reg query "%%i" /ve
') do (
reg query "HKCR\http\shell\open\command" /ve| >nul findstr /ic:"%%k"&& echo %%k
)
)
)>example.txt
exit /b
???
Valek271183
23-03-2014, 22:24
тоже пусто
можно просто оставить параметр По умолчанию?, возможно так даже функциональнее, так как видно как установлен браузер (например офлайн Google Chrome не ставиться в Program Files) и битность системы
Два символа в коде заменил на один пробел. Попробуйте ещё раз. Если снова будет "пусто", то тогда переделаю под значение параметра.
@echo off
chcp 1251>nul
(
echo Установленные браузеры:
echo.
for /f "delims=" %%i in ('
reg query "HKLM\SOFTWARE\Clients\StartMenuInternet"^| findstr /i HKEY_LOCAL_MACHINE\\SOFTWARE\\Clients\\StartMenuInternet\\
') do (
for /f "tokens=3* delims= " %%j in ('
reg query "%%i" /ve
') do (
echo %%k
)
)
echo.
echo.
echo Браузер по умолчанию:
echo.
for /f "delims=" %%i in ('
reg query "HKLM\SOFTWARE\Clients\StartMenuInternet"^| findstr /i HKEY_LOCAL_MACHINE\\SOFTWARE\\Clients\\StartMenuInternet\\
') do (
for /f "tokens=3* delims= " %%j in ('
reg query "%%i" /ve
') do (
reg query "HKCR\http\shell\open\command" /ve| >nul findstr /i "%%k"&& echo %%k
)
)
)>example.txt
exit /b
Valek271183
23-03-2014, 23:03
Спасибо, сработало, буду тестить, можно ещё увидеть пример на отдельной команде с экспортом параметра всей этой строки?
@echo off
chcp 1251>nul
setlocal enabledelayedexpansion
(
echo Установленные браузеры:
echo.
for /f "delims=" %%i in ('
reg query "HKLM\SOFTWARE\Clients\StartMenuInternet"^| findstr /i HKEY_LOCAL_MACHINE\\SOFTWARE\\Clients\\StartMenuInternet\\
') do (
for /f "tokens=3* delims= " %%j in ('
reg query "%%i" /ve
') do (
echo %%k
)
)
echo.
echo.
echo Браузер по умолчанию:
echo.
for /f "tokens=3* delims= " %%i in ('
reg query "HKCR\http\shell\open\command" /ve
') do (
set default_browser=%%j
echo !default_browser: %%1=!
)
)>example.txt
endlocal
exit /b
Если нужно целиком всё значение параметра, то уберите выделенное красным, включая пробел.
Valek271183
23-03-2014, 23:35
Спасибо
Valek271183
13-05-2014, 22:47
Georgio, а можно в этот список добавить используемые по умолчанию плейер видео и аудио по расширениям AVI и MP3 ?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.