Войти

Показать полную графическую версию : Батник для конвертирования данных в кодировку 1200 для reg-файла


Nun-Nun
21-01-2012, 20:01
Есть вот такой батник:
@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
21-01-2012, 21:18
Пока дело упёрлось в кодировку 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
22-01-2012, 00:17
Как в кодировку 1200 загнать нужный текст? »
AkelPad ;)

Nun-Nun
23-01-2012, 10:35
sov44,

Не понял, поясните, плиз.

sov44
23-01-2012, 11:34
Не понял, поясните, плиз. »
Вы просили загнать текст в 1200 кодировку.
AkelPad - блокнот, который позволяет это сделать. Во вложении кодированный текст с расширением *.txt. Если нужно, замените *.txt на *.cmd

Nun-Nun
23-01-2012, 16:21
sov44,

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




© OSzone.net 2001-2012