Jak mogę określić wpisy REG_EXPAND_SZ w pliku .REG?
9
Próbuję użyć skryptu wsadowego i .regpliku, aby skonfigurować niektóre niestandardowe usługi. Większość kluczy jest poprawnie skonfigurowana, ale muszę ustawić DependOnServiceklucz dla niektórych usług, który zwykle jest wielowątkowy. Czy można ustawić ten klucz z .regpliku, czy będzie wymagane ręczne wprowadzenie?
REG_MULTI_SZdane w .regplikach muszą być zakodowane w systemie szesnastkowym. Jeśli zawartość nigdy się nie zmienia, możesz utworzyć w rejestrze element zastępczy z danymi, wyeksportować go i dostosować do własnych potrzeb.
Jeśli się zmieni, prawdopodobnie znacznie łatwiej będzie użyć regprogramu dołączonego do systemu Windows, aby go dodać. Aby to zrobić, zadzwoń regw tym formacie:
Przełącznik separatora jest opcjonalny. Jeśli nie zostanie użyty, ciągi do zapisania powinny być oddzielone sekwencją zmiany znaczenia dla znaku null ( \0). Na przykład, aby dodać element o nazwie Flairaby HKLM\SOFTWARE\WhizBang\Excite-O-Ramaze strun foo, bari bazchcesz uruchomić:
Świetna odpowiedź (użycie .batpliku z regpoleceniem zamiast .regpliku), ale dlaczego mówi o REG_MULTI_SZ, gdy pytanie dotyczy REG_EXPAND_SZ?
Norswap,
1
dword: = DWORD
hex(2): = Ciąg rozwijany
hex(7): = Multi-String
A DWORDjest 32-bitową liczbą całkowitą bez znaku (zakres dziesiętny: 0- 4294967295), aw rejestrze DWORDzawsze zaczyna się od 0xi ma 8 cyfr 0x. Może być w formacie dziesiętnym lub szesnastkowym; na przykład 1000można zapisać jako 0x00001000lub 0x000003e8.
DWORDSmogą korzystać tylko z cyfr 0- 9. Wszelkie ciągi znaków zawsze używają ASCII, aw ACSII 1000można je zapisać tylko jako 31,30,30,30. W przypadku typu danych Ciąg ASCII działa w tle, nawet o tym nie wiedząc, ponieważ komputer rozumie tylko jedynki i jedynki.
W przypadku typów danych Rozwijany i Wielo-ciągowy zapisują one wpisy jako serię kodów ASCII w formacie szesnastkowym, oddzielone przecinkami i zerami szesnastkowymi; więc ciąg rozwijany 1000będziehex(2):31,00,30,00,30,00,30,00
Przekształćmy %PROGRAMFILES%w ciąg rozwijany:
Użyj narzędzia ASCII do konwersji heksadecymalnej , wprowadź dane %PROGRAMFILES%w polu tekstowym, Ogranicznik wyjściowy zdefiniowany przez użytkownika: %wybierz Konwertuj, a otrzymasz:
%25%50%52%4F%47%52%41%4D%46%49%4C%45%53%25
Kopiuj / wklej ten wynik do edytora tekstu: Przenieś pierwszy %do końca, Znajdź / Zamień wszystko %ze ,00,i usunąć przecinek na końcu łańcucha. Powinieneś wziąć:
Link do pliku hotfile to po prostu archiwum 7z ze stroną HTML (zawierającą konwerter) przechowywaną w środku. Dlaczego nie po prostu link do samej strony internetowej?
John Bensin,
1
Aby uniknąć zepsucia linku, umieść w odpowiedzi wszystkie istotne informacje. Aby uzyskać więcej informacji na temat odpowiadania na pytania, zobacz Jak odpowiedzieć
.bat
pliku zreg
poleceniem zamiast.reg
pliku), ale dlaczego mówi o REG_MULTI_SZ, gdy pytanie dotyczy REG_EXPAND_SZ?dword:
=DWORD
hex(2):
= Ciąg rozwijanyhex(7):
= Multi-StringA
DWORD
jest 32-bitową liczbą całkowitą bez znaku (zakres dziesiętny:0
-4294967295
), aw rejestrzeDWORD
zawsze zaczyna się od0x
i ma 8 cyfr0x
. Może być w formacie dziesiętnym lub szesnastkowym; na przykład1000
można zapisać jako0x00001000
lub0x000003e8
.DWORDS
mogą korzystać tylko z cyfr0
-9
. Wszelkie ciągi znaków zawsze używają ASCII, aw ACSII1000
można je zapisać tylko jako31,30,30,30
. W przypadku typu danych Ciąg ASCII działa w tle, nawet o tym nie wiedząc, ponieważ komputer rozumie tylko jedynki i jedynki.W przypadku typów danych Rozwijany i Wielo-ciągowy zapisują one wpisy jako serię kodów ASCII w formacie szesnastkowym, oddzielone przecinkami i zerami szesnastkowymi; więc ciąg rozwijany
1000
będziehex(2):31,00,30,00,30,00,30,00
Przekształćmy
%PROGRAMFILES%
w ciąg rozwijany:%PROGRAMFILES%
w polu tekstowym, Ogranicznik wyjściowy zdefiniowany przez użytkownika:%
wybierz Konwertuj, a otrzymasz:%
do końca, Znajdź / Zamień wszystko%
ze,00,
i usunąć przecinek na końcu łańcucha. Powinieneś wziąć:Ta lekcja zawiera całą wiedzę potrzebną do inżynierii wstecznej każdego wpisu rejestru w kodzie heksadecymalnym, który nie jest zaszyfrowany.
źródło