CMD/BAT - Батник для конвертирования данных в кодировку 1200 для reg-файла

Ответить
Аватара пользователя
Nun-Nun

CMD/BAT - Батник для конвертирования данных в кодировку 1200 для reg-файла

Сообщение Nun-Nun »

Есть вот такой батник:


Цитата:



@echo off

chcp 1200 1>>Pathrestore.reg

set RegPath1="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"

set RegPath2="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"

set RegParam1=PathRestore1

set RegParam1=PathRestore2

for /f "tokens=1,2,*" %%a in ('reg query %RegPath1% /v %RegParam1%') do if "%%a"=="%RegParam1%" set RegValue1=%%c

for /f "tokens=1,2,*" %%d in ('reg query %RegPath2% /v %RegParam2%') do if "%%d"=="%RegParam2%" set RegValue2=%%f

Echo "%RegValue1%"

Echo "%RegValue2%"



Нужно дополнить этот батник таким куском, чтобы он вписывал в файл Pathrestore.reg следующие данные и сразу подставлял найденные значения параметра Personal :


Цитата:



Windows Registry Editor Version 5.00



[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]

"Personal"=



[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]

"Personal"=



P.S. В первой ветке реестра тип данных - REG_SZ, во второй - REG_EXPAND_SZ
Аватара пользователя
Nun-Nun

Re: CMD/BAT - Батник для конвертирования данных в кодировку 1200 для reg-файла

Сообщение Nun-Nun »

Пока дело упёрлось в кодировку 1200 и тип данных REG_EXPAND_SZ. Как в кодировку 1200 загнать нужный текст?


Цитата:



@echo off

chcp 1200 1>Pathrestore.reg

set RegPath1="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"

set RegPath2="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"

set RegParam1=Personal

set RegParam2=Personal

set String1=Windows Registry Editor Version 5.00

set String2=[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]

set String3="Personal"=

set String4=[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]

set String5="Personal"=



for /f "tokens=1,2,*" %%a in ('reg query %RegPath1% /v %RegParam1%') do if "%%a"=="%RegParam1%" set RegValue1=%%c

for /f "tokens=1,2,*" %%d in ('reg query %RegPath2% /v %RegParam2%') do if "%%d"=="%RegParam2%" set RegValue2=%%f



Echo %String1%>>Pathrestore.reg

Echo.>>Pathrestore.reg

Echo %String2%>>Pathrestore.reg

Echo %String3%"%RegValue1%">>Pathrestore.reg

Echo %String4%>>Pathrestore.reg

Echo %String5%"%RegValue2%">>Pathrestore.reg
Аватара пользователя
sov44

Re: CMD/BAT - Батник для конвертирования данных в кодировку 1200 для reg-файла

Сообщение sov44 »

Цитата Nun-Nun:



Не понял, поясните, плиз.
CMD/BAT - Батник для конвертирования данных в кодировку 1200 для reg-файла




Вы просили загнать текст в 1200 кодировку.

AkelPad - блокнот, который позволяет это сделать. Во вложении кодированный текст с расширением *.txt. Если нужно, замените *.txt на *.cmd
Аватара пользователя
Nun-Nun

Re: CMD/BAT - Батник для конвертирования данных в кодировку 1200 для reg-файла

Сообщение Nun-Nun »

sov44,



Это должно быть сделано из батника, а не вручную. Но, к сожалению, при попытке использовать кодировку 1200 получаю сообщение, что использован недопустимый тип кодировки. Ни AkelPad, ни блокнот здесь не подходят, т.к батник работает в составе аддона.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»