Подскажите как сделать замену текста в виде шестнадцатеричных значений.
К примеру:
Цитата: @echo off
SET N=4E
SET T=54
SET L=4C
SET D=44
SET R=52
SET I=49
SET M=4D
DEL list1.txt
echo FILE = B1.bin>>list1.txt
echo TTL = Replace>>list1.txt
echo SEARCH = %N% 0 %T% 0 %L% 0 %D% 0 %R%>>list1.txt
echo CHANGE = %I% 0 %M% 0 %L% 0 %D% 0 %R%>>list1.txt
echo SEARCH = %N% %T% %L% %D% %R%>>list1.txt
echo CHANGE = %I% %M% %L% %D% %R%>>list1.txt
MKBT.EXE -x -c C: PEBOOT.BIN
REN peboot.bin B1.bin
Replace.exe /p list1.txt
RD OUT1 /S /Q
MD OUT1
MOVE B1.bin OUT1\B1.bin
pause
здесь поиск и замена текста в файле загрузочного сектора, хочу сделать в виде выбора или в виде ввода текста -
Цитата: set /p ldr=“Є ¦ЁвҐ Ё¬п «® ¤Ґа (5 бЁ¬ў®«®ў), - ЇаЁ¬Ґа PELDR
, но как это передать в строку "echo SEARCH = " в шестнадцатеричном виде.
Добавлено: Посмотрел "Конвертирование текста из кириллицы в латиницу", похоже мне это нужно, только создать дла англ. алфавита в шестнадцатеричные коды.
Добавлено: Сделал такой код [more]@echo off
setlocal
set /p "ldr=‚ўҐ¤ЁвҐ Ё¬п «® ¤Ґа , - ЇаЁ¬Ґа PELDR, ўў®¤ЁвҐ:
SET "ldr_1=%ldr%"
SET "ldr=%ldr:A=41%"
SET "ldr=%ldr:B=42%"
SET "ldr=%ldr:C=43%"
SET "ldr=%ldr:D=44%"
SET "ldr=%ldr:E=45%"
SET "ldr=%ldr:F=46%"
SET "ldr=%ldr:G=47%"
SET "ldr=%ldr:H=48%"
SET "ldr=%ldr:I=49%"
SET "ldr=%ldr:J=4A%"
SET "ldr=%ldr:K=4B%"
SET "ldr=%ldr:L=4C%"
SET "ldr=%ldr:M=4D%"
SET "ldr=%ldr:N=4E%"
SET "ldr=%ldr:O=4F%"
SET "ldr=%ldr:P=50%"
SET "ldr=%ldr:Q=51%"
SET "ldr=%ldr:R=52%"
SET "ldr=%ldr:S=53%"
SET "ldr=%ldr:T=54%"
SET "ldr=%ldr:U=55%"
SET "ldr=%ldr:V=56%"
SET "ldr=%ldr:W=57%"
SET "ldr=%ldr:X=58%"
SET "ldr=%ldr:Y=59%"
SET "ldr=%ldr:Z=5A%"
SET "ldr=%ldr:a=41%"
SET "ldr=%ldr:b=42%"
SET "ldr=%ldr:c=43%"
SET "ldr=%ldr:d=44%"
SET "ldr=%ldr:e=45%"
SET "ldr=%ldr:f=46%"
SET "ldr=%ldr:g=47%"
SET "ldr=%ldr:h=48%"
SET "ldr=%ldr:i=49%"
SET "ldr=%ldr:j=4A%"
SET "ldr=%ldr:k=4B%"
SET "ldr=%ldr:l=4C%"
SET "ldr=%ldr:m=4D%"
SET "ldr=%ldr:n=4E%"
SET "ldr=%ldr:o=4F%"
SET "ldr=%ldr:p=50%"
SET "ldr=%ldr:q=51%"
SET "ldr=%ldr:r=52%"
SET "ldr=%ldr:s=53%"
SET "ldr=%ldr:t=54%"
SET "ldr=%ldr:u=55%"
SET "ldr=%ldr:v=56%"
SET "ldr=%ldr:w=57%"
SET "ldr=%ldr:x=58%"
SET "ldr=%ldr:y=59%"
SET "ldr=%ldr:z=5A%"
SET "ldr_1=%ldr_1:A=0041%"
SET "ldr_1=%ldr_1:B=0042%"
SET "ldr_1=%ldr_1:C=0043%"
SET "ldr_1=%ldr_1:D=0044%"
SET "ldr_1=%ldr_1:E=0045%"
SET "ldr_1=%ldr_1:F=0046%"
SET "ldr_1=%ldr_1:G=0047%"
SET "ldr_1=%ldr_1:H=0048%"
SET "ldr_1=%ldr_1:I=0049%"
SET "ldr_1=%ldr_1:J=004A%"
SET "ldr_1=%ldr_1:K=004B%"
SET "ldr_1=%ldr_1:L=004C%"
SET "ldr_1=%ldr_1:M=004D%"
SET "ldr_1=%ldr_1:N=004E%"
SET "ldr_1=%ldr_1:O=004F%"
SET "ldr_1=%ldr_1:P=0050%"
SET "ldr_1=%ldr_1:Q=0051%"
SET "ldr_1=%ldr_1:R=0052%"
SET "ldr_1=%ldr_1:S=0053%"
SET "ldr_1=%ldr_1:T=0054%"
SET "ldr_1=%ldr_1:U=0055%"
SET "ldr_1=%ldr_1:V=0056%"
SET "ldr_1=%ldr_1:W=0057%"
SET "ldr_1=%ldr_1:X=0058%"
SET "ldr_1=%ldr_1:Y=0059%"
SET "ldr_1=%ldr_1:Z=005A%"
SET "ldr_1=%ldr_1:a=0041%"
SET "ldr_1=%ldr_1:b=0042%"
SET "ldr_1=%ldr_1:c=0043%"
SET "ldr_1=%ldr_1:d=0044%"
SET "ldr_1=%ldr_1:e=0045%"
SET "ldr_1=%ldr_1:f=0046%"
SET "ldr_1=%ldr_1:g=0047%"
SET "ldr_1=%ldr_1:h=0048%"
SET "ldr_1=%ldr_1:i=0049%"
SET "ldr_1=%ldr_1:j=004A%"
SET "ldr_1=%ldr_1:k=004B%"
SET "ldr_1=%ldr_1:l=004C%"
SET "ldr_1=%ldr_1:m=004D%"
SET "ldr_1=%ldr_1:n=004E%"
SET "ldr_1=%ldr_1:o=004F%"
SET "ldr_1=%ldr_1:p=0050%"
SET "ldr_1=%ldr_1:q=0051%"
SET "ldr_1=%ldr_1:r=0052%"
SET "ldr_1=%ldr_1:s=0053%"
SET "ldr_1=%ldr_1:t=0054%"
SET "ldr_1=%ldr_1:u=0055%"
SET "ldr_1=%ldr_1:v=0056%"
SET "ldr_1=%ldr_1:w=0057%"
SET "ldr_1=%ldr_1:x=0058%"
SET "ldr_1=%ldr_1:y=0059%"
SET "ldr_1=%ldr_1:z=005A%"
DEL list1.txt
echo FILE = B1.bin>>list1.txt
echo TTL = Replace>>list1.txt
echo SEARCH = 4E0054004C00440052>>list1.txt
echo CHANGE = %ldr_1:~3%>>list1.txt
echo SEARCH = 4E544C4452>>list1.txt
echo CHANGE = %ldr%>>list1.txt
MKBT.EXE -x -c C: PEBOOT.BIN
REN peboot.bin B1.bin
Replace.exe /p list1.txt
RD OUT1 /S /Q
MD OUT1
MOVE B1.bin OUT1\B1.bin
pause[/more] но проблема в том, что шестнадцатеричные символы тоже содержат символы алфавита, и обрабатываются дважды, в итоге шестнадцатеричный код не верен при передаче в строку "echo SEARCH"
Добавлено: сделал... [more=вот]@echo off
setlocal
set /p "ldr=‚ўҐ¤ЁвҐ Ё¬п «® ¤Ґа , - ЇаЁ¬Ґа PELDR, ўў®¤ЁвҐ:
SET "ldr_1=%ldr%"
SET "ldr=%ldr:A=41%"
SET "ldr=%ldr:B=42%"
SET "ldr=%ldr:C=43%"
SET "ldr=%ldr:D=44%"
SET "ldr=%ldr:E=45%"
SET "ldr=%ldr:F=46%"
SET "ldr=%ldr:G=47%"
SET "ldr=%ldr:H=48%"
SET "ldr=%ldr:I=49%"
SET "ldr=%ldr:J=4A%"
SET "ldr=%ldr:K=4B%"
SET "ldr=%ldr:L=4C%"
SET "ldr=%ldr:M=4D%"
SET "ldr=%ldr:N=4E%"
SET "ldr=%ldr:O=4F%"
SET "ldr=%ldr:P=50%"
SET "ldr=%ldr:Q=51%"
SET "ldr=%ldr:R=52%"
SET "ldr=%ldr:S=53%"
SET "ldr=%ldr:T=54%"
SET "ldr=%ldr:U=55%"
SET "ldr=%ldr:V=56%"
SET "ldr=%ldr:W=57%"
SET "ldr=%ldr:X=58%"
SET "ldr=%ldr:Y=59%"
SET "ldr=%ldr:Z=5A%"
SET "ldr_1=%ldr_1:A=0041%"
SET "ldr_1=%ldr_1:B=0042%"
SET "ldr_1=%ldr_1:C=0043%"
SET "ldr_1=%ldr_1:D=0044%"
SET "ldr_1=%ldr_1:E=0045%"
SET "ldr_1=%ldr_1:F=0046%"
SET "ldr_1=%ldr_1:G=0047%"
SET "ldr_1=%ldr_1:H=0048%"
SET "ldr_1=%ldr_1:I=0049%"
SET "ldr_1=%ldr_1:J=004A%"
SET "ldr_1=%ldr_1:K=004B%"
SET "ldr_1=%ldr_1:L=004C%"
SET "ldr_1=%ldr_1:M=004D%"
SET "ldr_1=%ldr_1:N=004E%"
SET "ldr_1=%ldr_1:O=004F%"
SET "ldr_1=%ldr_1:P=0050%"
SET "ldr_1=%ldr_1:Q=0051%"
SET "ldr_1=%ldr_1:R=0052%"
SET "ldr_1=%ldr_1:S=0053%"
SET "ldr_1=%ldr_1:T=0054%"
SET "ldr_1=%ldr_1:U=0055%"
SET "ldr_1=%ldr_1:V=0056%"
SET "ldr_1=%ldr_1:W=0057%"
SET "ldr_1=%ldr_1:X=0058%"
SET "ldr_1=%ldr_1:Y=0059%"
SET "ldr_1=%ldr_1:Z=005A%"
DEL list1.txt
echo FILE = B1.bin>>list1.txt
echo TTL = Replace>>list1.txt
echo SEARCH = 4E0054004C00440052>>list1.txt
echo CHANGE = %ldr_1:~2%>>list1.txt
echo SEARCH = 4E544C4452>>list1.txt
echo CHANGE = %ldr%>>list1.txt
MKBT.EXE -x -c C: PEBOOT.BIN
REN peboot.bin B1.bin
Replace.exe /p list1.txt
RD OUT1 /S /Q
MD OUT1
MOVE B1.bin OUT1\B1.bin
pause[/more] , как оказалось прописные и заглавные буквы обрабатываются одинаково.
Добавлено: Подскажите как сделать если количество введённых символов не равно 5-ти, то выдать сообщенние о неправильном вводе и вернуться снова к строке ввода переменной...
Если кому интересно, вот
архив 75 кб с батниками и необходимыми файлами.