Показать полную графическую версию : [решено] Получение значения параметра реестра
Вот получить значение на экран через REG QUERY это понятно, но дело в том что эта команда не возвращает чисто значение параметра, а добавляет ещё название параметра и его тип.
Собственно задача такая, нужно из параметра реестра получить строку - путь и в полученный путь скинуть файлы. Везде облазил, но как получить именно само значение параметра либо отфильтровать именно его так и не нашёл.
Помогите, люди добрые, как такое осуществить?
из параметра реестра получить строку - путь »
Как вариант:@Echo Off
For /f "tokens=2*" %%a In ('Reg query "HKCU\SOFTWARE\7-Zip" ^| Find /i "Path"') Do Set "path7Zip=%%b"
Echo %path7Zip%
Pause>nul
Не работает правильно с русскими значениями параметров - выдает их в неправильной кодировке :(
если быть более точным, то надо скопировать файл на рабочий стол
Сделал скрипт, используя приведенный выше код
@Echo Off
For /f "tokens=2*" %%a In ('Reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" ^| Find /i "Desktop"') Do Set "pathcons=%%b"
Echo %pathcons%
xcopy c:\1.txt "%pathcons%" /h /r /y /i
Pause>nul
В итоге вместо получения параметра "рабочий стол" мне выдается значение "╨рсюўшщ ёЄюы"
Попробуйте так:@Echo Off
For /f "tokens=2*" %%a In ('Reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" ^| Find /i "Desktop"') Do Echo %%b>1251.txt
win_iconv.exe -f CP1251 -t CP866 1251.txt>866.txt
For /F "Delims=" %%I In (866.txt) Do Set pathcons=%%I
Echo %pathcons%
Del /Q 1251.txt 866.txt
xCopy c:\1.txt "%pathcons%" /h /r /y /i
Pause>nul
Утилиту прикрепил.
можно вроде и без внешних утилит:
CHCP 1251 >Nul
For /F "Tokens=2*" %%a In ('Reg Query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"^|Find /I "Desktop"') Do Set DPath=%%b
CHCP 866 >Nul
Echo %DPath%
Второй метод точно работает. gora и amel27 - спасибо :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.