PDA

Показать полную графическую версию : [решено] Экспорт из реестра в файл


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

)

Georgio
23-03-2014, 13:56
@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 ?

Georgio
23-03-2014, 20:57
Какой-то "монстр" получился:

@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, а в результате у меня пусто

Georgio
23-03-2014, 22:09
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) и битность системы

Georgio
23-03-2014, 22:36
Два символа в коде заменил на один пробел. Попробуйте ещё раз. Если снова будет "пусто", то тогда переделаю под значение параметра.

@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
Спасибо, сработало, буду тестить, можно ещё увидеть пример на отдельной команде с экспортом параметра всей этой строки?

Georgio
23-03-2014, 23:28
@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