2013-02-08 4 views
1

Я ищу способ изменения файла .reg (.txt), который является экспортированным значением реестра. Я уже могу экспортировать файл реестра, мне просто нужен способ изменить только один символ, который находится примерно в середине этого шестнадцатеричного значения. Ниже приведена часть экспортированного значения реестра и Bolded - это то, что я хочу изменить.Batch File изменить один символ в экспортированном шестнадцатеричном значении реестра

«F» = hex: 02,00,01,00,00,00,00, b4,42,39,6f, 86, fd, cd, 01,00,00,00, 00,00,00,00, \
00, d7,2f, f1, d8,0e, e9, cd, 01,00,00,00,00,00,00,00,00,00,00 , 00,00,00,00,00, \
f4,01,00,00,01,02,00,00, , 02,00,00,00,00,00,00, 00,2e, 00,01,00,00,00,00, \
00,00,00,88,52,35,00

мне нужно изменить, что к , затем сохраните его в рег-файле, а затем импортируйте. Кажется, что команда для может быть, что мне нужно, но я прочитал команду FOR и до сих пор смущен ею.

Дополнительная информация: Это будет выполняться в среде WinPE 3.0 Это шестнадцатеричное значение отличается от компьютера к компьютеру, но 11 всегда будет находиться в том же положении.

Даже лучше: Есть ли что-то другое, чем пакетный/CMD файл, который я мог бы использовать, чтобы изменить загруженный улей форума реестра, чтобы выполнить то же самое?

Заранее спасибо
~ Майк

ответ

0

Сначала положить его в переменную (я буду использовать X)

set x="F"=hex:02,00,01,00,00,00,00,00,b4,42,39,6f,86,fd,cd,01,00,00,00,00,00,00,00,\00,d7,2f,f1,d8,0e,e9,cd,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\f4,01,00,00,01,02,00,00,11,02,00,00,00,00,00,00,00,00,2e,00,01,00,00,00,00,\00,00,00,88,52,35,00 

Затем вы можете заменить 11 с 10 по

set x=%x:11=10% 

Примечание: не используйте этот метод, если в скрипте будет два 11, потому что он заменит их все.

Если есть больше 11, но 11 находится в одном и том же месте (если в строке было 58 символов, то в следующий раз оно должно быть 58 символов), поэтому вы должны были бы считать символы, ведущие к 11 и принять эту переменную X и сделать еще одну переменную с именем 1, и содержимое будет выглядеть следующим образом:

set 1=%x:~0,178% 

Затем выяснить, сколько символов сразу после 11 до конца и имя переменной 2 и добавьте 2 так вы в конечном итоге пропустите 11:

set 2=%x:~180,70% 

Затем на корме э, что вы просто ввести новое значение между в данном случае 10, и было бы:

set X=%1%10%2% 

Тогда у вас есть новый выход обратно в переменную X!

+0

Извините за задержанный ответ, но ваш метод работал отлично. Понял немного, чтобы понять команды, но в конце концов понял. – mikefletcher85