Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] экспорт из реестра путей прописоных там программ (http://forum.oszone.net/showthread.php?t=265069)

icq99999999 27-07-2013 16:06 2191617

экспорт из реестра путей прописоных там программ
 
в реестра есть ветка HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run через которую запускаются программы
меня интересует экспорт расположения путей к программам если его просто экспортировать то это выглядит так "Skype"="\"C:\\Program Files\\Skype\\Phone\\Skype.exe\" /minimized /regrun"
а мне нужно так C:\Program Files\Skype\Phone\Skype.exe притом скайп является примером может быть что угодно главное чтобы копировался один путь для всех программ расположенных в в ветке \Run

Foreigner 27-07-2013 21:15 2191794

icq99999999,
Код:

@echo off
setlocal

set "run=hkcu\software\microsoft\windows\currentversion\run"

for /f "tokens=*" %%i in (' reg query "%run%" ') do call:1 %%i
goto:eof

:1

for %%i in ( %* ) do if exist %%i echo %%~i

PS. Работает только для значений, у которых указан полный путь
Можно еще так, но опять же ограничение, если имя параметра содержит пробелы, то на выходе будет ошибочное значение:
Код:

@echo off
setlocal

set "run=hkcu\software\microsoft\windows\currentversion\run"

for /f "tokens=3" %%i in (' reg query "%run%" ') do echo %%~i


icq99999999 28-07-2013 11:37 2192041

Цитата:

Цитата Foreigner
@echo off setlocal set "run=hkcu\software\microsoft\windows\currentversion\run" for /f "tokens=*" %%i in (' reg query "%run%" ') do call:1 %%i goto:eof :1 for %%i in ( %* ) do if exist %%i echo %%~i »

если просто запустить то всё работает то есть в сообщении показываются пути к программам но мне нужно теперь экспортировать весь результат в файл я пробовал так
for %%i in ( %* ) do if exist %%i echo %%i>dmaster.ini.tmp
если сделать так то в файл dmaster.ini.tmp экспортируется только 1 путь :( хотя у меня в ветке реестра их 5

вопрос:
можно ли чтобы не только экспортировался путь к программам но и ключ то есть так "C:\Program Files\Skype\Phone\Skype.exe" /minimized /regrun

Foreigner 28-07-2013 11:40 2192044

icq99999999,
Код:

@echo off
setlocal

set "run=hklm\software\microsoft\windows\currentversion\run"

for /f "tokens=3*" %%i in (' reg query "%run%" ') do 1>>file.txt echo %%i %%j

Вариант PowerShell
Код:

$reg = 'hklm:\software\microsoft\windows\currentversion\run'

$items = @{}

(gi $reg).property | % { $items.$_ = (gp $reg $_).$_ }

$items.values | sc file.txt


icq99999999 28-07-2013 15:43 2192147

Цитата:

Цитата Foreigner
@echo off setlocal set "run=hklm\software\microsoft\windows\currentversion\run" for /f "tokens=3*" %%i in (' reg query "%run%" ') do 1>>file.txt echo %%i %%j »

а можно полностью значение ветки реестра экспортировать ?
в реестре это выглядит так
"C:\Users\User\AppData\Roaming\uTorrent\uTorrent.exe" /MINIMIZED

Foreigner 28-07-2013 18:04 2192216

icq99999999, А оно как?

Цитата:

"C:\Users\User\AppData\Roaming\uTorrent\uTorrent.exe" /MINIMIZED
Так и экспортируется

icq99999999 28-07-2013 18:24 2192229

Цитата Foreigner:
А оно как? »
разобрался, извини за вопросы! и спасибо за помощь! :)


Время: 20:03.

Время: 20:03.
© OSzone.net 2001-