Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Батник для конвертирования данных в кодировку 1200 для reg-файла (http://forum.oszone.net/showthread.php?t=225879)

Nun-Nun 21-01-2012 20:01 1841325

Батник для конвертирования данных в кодировку 1200 для reg-файла
 
Есть вот такой батник:
Цитата:

@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 1841386

Пока дело упёрлось в кодировку 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 1841503

Цитата:

Цитата Nun-Nun
Как в кодировку 1200 загнать нужный текст? »

AkelPad ;)

Nun-Nun 23-01-2012 10:35 1842513

sov44,

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

sov44 23-01-2012 11:34 1842538

Цитата:

Цитата Nun-Nun
Не понял, поясните, плиз. »

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

Nun-Nun 23-01-2012 16:21 1842713

sov44,

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


Время: 08:30.

Время: 08:30.
© OSzone.net 2001-