Вот получить значение на экран через REG QUERY это понятно, но дело в том что эта команда не возвращает чисто значение параметра, а добавляет ещё название параметра и его тип.
Собственно задача такая, нужно из параметра реестра получить строку - путь и в полученный путь скинуть файлы. Везде облазил, но как получить именно само значение параметра либо отфильтровать именно его так и не нашёл.
Помогите, люди добрые, как такое осуществить?
CMD/BAT - [решено] Получение значения параметра реестра
-
gora
Re: CMD/BAT - [решено] Получение значения параметра реестра
Цитата IfoR:
из параметра реестра получить строку - путь
Как вариант:
Код:
из параметра реестра получить строку - путь
CMD/BAT - [решено] Получение значения параметра реестра
Как вариант:
Код:
Код: Выделить всё
@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-
IfoR
-
IfoR
Re: CMD/BAT - [решено] Получение значения параметра реестра
Не работает правильно с русскими значениями параметров - выдает их в неправильной кодировке 
если быть более точным, то надо скопировать файл на рабочий стол
Сделал скрипт, используя приведенный выше код
Код:
В итоге вместо получения параметра "рабочий стол" мне выдается значение "╨рсюўшщ ёЄюы"

если быть более точным, то надо скопировать файл на рабочий стол
Сделал скрипт, используя приведенный выше код
Код:
Код: Выделить всё
@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В итоге вместо получения параметра "рабочий стол" мне выдается значение "╨рсюўшщ ёЄюы"
-
gora
Re: CMD/BAT - [решено] Получение значения параметра реестра
Попробуйте так:
Код:
Утилиту прикрепил.
Код:
Код: Выделить всё
@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Утилиту прикрепил.
-
amel27
Re: CMD/BAT - [решено] Получение значения параметра реестра
можно вроде и без внешних утилит:
Код:
Код:
Код: Выделить всё
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%-
dworg1
Re: CMD/BAT - [решено] Получение значения параметра реестра
Второй метод точно работает. gora и amel27 - спасибо 
