Войти

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


icq99999999
27-07-2013, 16:06
в реестра есть ветка 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
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
@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
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
@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
icq99999999, А оно как?


"C:\Users\User\AppData\Roaming\uTorrent\uTorrent.exe" /MINIMIZED


Так и экспортируется

icq99999999
28-07-2013, 18:24
Цитата Foreigner:
А оно как? »
разобрался, извини за вопросы! и спасибо за помощь! :)




© OSzone.net 2001-2012