registry scripting -...
TRANSCRIPT
Registry Scripting
0. Uvod
1. Instaliranje INF fajlova
2. Dodavanje i brisanje kljuceva i valuesa
2a. Dodavanje kljuceva i valuesa
2b. Brisanje kljuceva i valuesa
2c. Upotreba stringova u INF fajlovima
2e. Postavljanje i brisanje bitova (bits)
3. Kreiranje reg fajlova za popravku kljuceva
3a. Rucno kreiranje REG fajlova
3b. Brisanje kljuceva upotrebom REG fajla
4. Editovanje redzistrija putem komandne kozole (batch scriptingom)
4a. Dodavanje kljuceva
4b. Queryng kljuceva
4c. Brisanje kljuceva i valuesa
4d. Uporedjivanje kljuceva i valuesa
4e. Kopiranje kljuceva i valuesa
4f. Exportovanje kljuceva u vidu REG fajlova
4g. Importovanje REG fajlova
4h. Sacuvanje kljuceva u vidu Hive fajlova
4i. Restoring Hive fajlova u kljuceve
4j. Loading i unloading Hive fajlova
Scripting donosi brojne pogodnosti. Pomocu jedne skripte mozete izvrsiti automatizovanu
promenu veceg broja podesavanja odjednom. Skriptu mozete testirati, pre nego sto je
uopste primenite. Samu skriptu mozete editovati i apdejtovati i samim tim usavrsavati ili
pojednostaviti zadatak koji treba da izvrsi. Prosto receno, nakon sto ste napravili skriptu,
ona ce automatski odraditi sve sto treba umesto vas.
Postoji 5 scripting metoda:
- Instaliranje INF fajlova
- Kreiranje reg fajlova za popravku kljuceva
- Editovanje redzistrija putem komandne kozole (batch scriptingom)
- Upotreba Windows Script Hosta
- Kreiranje windows instalera
1. Instaliranje INF fajlova
INF fahlovi – information files (.inf). Windows API upotrebljava INF fajlove za instalaciju
skripti. Inf fajlove otvarate preko bilo kojeg txt editora a gomilu inf fajlova mozete videti u
C:\WINDOWS\inf
Preko Inf fajlova mozete raditi sledece:
- kopirati/editovati/brisati fajlove
- kopirati/editovati/brisati registry kljuceve
- instalirati i startovati servise
U ovim fajlovima nalaze se posebne komande za akcije koje su zasluzne za instalaciju
vecine aplikacija i drajvera.
Sad cemo da se pozabavimo izgledom tj strukturom inf fajlova. Kada otvorimo inf fajl, on
sadrzi sledece:
Kod:
[Naziv_sekcije]
Naziv=Vrednost
0. Uvod
I tako nekoliko Sekcija sa jednom ili vise Naziv=Vrednost komponenti u svakoj od sekcija.
Inf fajl editujete uz pomoc Notepad-a, a inf fajl kreirate tako sto sacuvate komande u
Notepadu i date naziv imefajla.inf , znaci bitna je inf extenzija. Instalacija inf fajlova je
jednostavna: desni klik na inf fajl i install. To je manuelno instaliranje. Postoji drugi nacin
instaliranja inf fajlova a to je putem command prompta, primer
rundll32.exe setupapi , InstallHinfSection DefaultInstall 132 imefajla.inf
Evo jednog inf fajla koji cemo uzeti kao primer a nazvacemo ga primer.inf
Kod:
[Version]
Signature="$CHICAGO$"
[DefaultInstall]
AddReg=Add.Settings
DelReg=Del.Settings
[Add.Settings]
HKCR,regfile\shell,,0,"edit"
[Del.Settings]
HKCU,Software\Microsoft\Windows\CurrentVersion\Applets\Regedit
Prva sekcija koju vidimo naziva se [Version] i ona je esencijalna sekcija svakog inf fajla.
U okviru nje se nalazi Signature komponenta koja oznacava da je u pitanju validan inf fajl.
"$CHICAGO$" je bio m$-ov “code name” za win 95 sto na kraju znaci da
Signature="$CHICAGO$" identifikuje fajl kao validan Windows 95 INF fajl. U sadasnjosti,
$CHICAGO$ ukazuje na to da je INF fajl kompatibilan sa svim verzijama Windowsa.
Sledeca sekcija je [DefaultInstall] i ona omogucava onu opciju Install (kada uradite desni
klik na inf fajl). Precica do ove sekcije je ona rundll32.exe komanda koju sam spomenuo u
gornjem delu ovog teksta. Ta komanda izvrsava API (u Setupapi.dll) pod nazivom
InstallHinfSection.
Sledeca komponenta je DefaultInstall i to je naziv sekcije koja treba da se izvrsi (instalira).
Zatim sledi komponenta 132 ukazuje API-u da po potrebi obavesti korisnika pre restarta
sistema.
I na kraju imefajla.inf predstavlja naziv inf fajla koji treba da se instalira.
Da nastavimo sa [DefaultInstall] sekcijom. Kao sto vidimo, u okviru ove sekcije se nalaze
dve komande AddReg i DelReg. Konkretno komanda AddReg=Add.Settings dodaje
podesavanja koja se nalaze u sekciji [Add.Settings] , dok komanda DelReg=Del.Settings
brise podesavanja koja se nalaze u sekciji [Del.Settings]
Mozete da vezbate pravljenje inf fajla. Ono gore je primer sa google-a, a evo jedan moj
logican primer:
stopnod32.inf
Kod:
[Version]
Signature="$CHICAGO$"
[DefaultInstall]
DelReg=Brisi.Podesavanja
[Brisi.Podesavanja]
HKLM, Software \Microsoft\Windows\CurrentVersion\Run\nod32kui
2a. Dodavanje kljuceva i valuesa
AddReg naredba u [DefaultInstall] sekciji oznacava nazive sekcija koje sadrze podatke koje
zelite da dodate redzistriju. Te sekcije se jednim imenom zovu [add-registry-section]
sekcije. Mozete: dodavati nove kljuceve, postavljati defaultne valuese, kreirati nove valuese
ili ispravljati postojece valuese koristeci [add-registry-section] sekciju. Svaka sekcija moze
sadrzati visestruke unose. Svaki [add-registry-section] naziv mora biti unikatan u INF fajlu.
root key – root kljuc:
Ovde koristite skracenice: HKCR, HKCU, HKLM ili HKU
subkey - podkljuc:
On ide opcionalno i ako ga nema, sve operacije su direktno na root kljucu
value:
Ova sintaksa je takodje opcionalna i ukoliko je izostavljena, a flags i data parametri su
zadati, operacije su na defaultnom valuesu kljuca. A ako nedostaju i value i flags i data, u
tom slucaju dodajete subkey.
flags:
0x00000000. Value je REG_SZ. Ovo je default ukoliko su flags izostavljeni.
0x00000001 Value je REG_BINARY
0x00010000 Value je REG_MULTI_SZ
0x00020000 Value je REG_EXPAND_SZ
0x00010001 Value je REG_DWORD
0x00020001 Value je REG_NONE
0x00000002 Ne vrsi overwrite postojecih kljuceva i valuesa.
2. Dodavanje i brisanje kljuceva i valuesa
0x00000004 Brise podkljuceve iz redzistrija ili value iz podkljuca.
0x00000008 Pripaja data sa value. Ovaj flag je validan samo u slucaju da je value
REG_MULTI_SZ. String data se ne pripaja ukoliko vec postoji.
0x00000010 Kreira podkljuc ali ignorise value i data ukoliko je zadata.
0x00000020 Postavlja value jedino ukoliko vec postoji,
0x00001000 Vrsi promene u 64-bit redzistriju. Ukoliko nije zadata, promene se vrse na
„normalnom“ redzistriju.
0x00004000 Vrsi promene u 32-bit redzistriju. Ukoliko nije zadata, promene se vrse na
„normalnom“ redzistriju.
data: Podatak iskljucivo za upisivanje valuesa. Ako value ne postoji, API ce ga kreirati, a ako
postoji onda ce API izvrsiti overwrite. Ako je value REG_MULTI_SZ a vi stavite 0x00010008
flag, API ce dodati value u postojecu string listu. Ukoliko je data izostavljena, API ce kreirati
value bez njenog postavljanja. Primer:
Kod:
[Version]
Signature="$CHICAGO$"
[DefaultInstall]
AddReg=Add.Settings
[Reg.Settings]
; Postavlja defaultni value od HCKU\Software\Sample
HCKU,Software\Sample,,,”Default”
; Kreira REG_SZ value pod nazivom Sample
HKCU,Software\Sample,String,0x00000,”String”
; Kreira REG_BINARY value pod nazivom Binary
HKCU,Software\Sample, Binary,0x00001,00,01,30,05
; Kreira REG_MULTI_SZ value pod nazivom Multisz
HKCU,Software\Sample,Multisz,0x10000,”String list”
; Kreira REG_DWORD value pod nazivom Dword
HKCU,Software\Sample,Dword,0x10001,0x01010102
; Kreira REG_SZ value pod nazivom Cao
HKCU,Software\Sample,Cao,,”Devojke”
; Kreira REG_DWORD value i postavlja ga 0x0000 flagu.
HKCU,Software\Sample,Nista,0x10001
2b. Brisanje kljuceva i valuesa
DelReg naredba u [DefaultInstall] sekciji oznacava nazive sekcija koje sadrze podatke koje
zelite da uklonite iz redzistrija. Te sekcije se jednim imenom zovu [del-registry-section]
sekcije. Znatno su jednostavnije od [add-registry-section] sekcija, ali imaju slicna pravila:
svaka sekcija moze sadrzati visestruke unose i naziv svake sekcije mora biti unikatan.
rootkey i subkey:
pravila ista kao i kod dodavanja kljuceva
value:
Naziv vrednosti koja se brise. Ova vrednost je opcionalna i ukoliko value nedostaje, vrsi se
brisanje podkljuca.
flags:
0x00002000 Brise celokupan podkljuc
0x00004000 Vrsi promene u 32-bit redzistriju. Ukoliko nije zadata, promene se vrse na
„normalnom“ redzistriju
0x00018002 Ukoliko je value REG_MULTI_SZ, uklanja sve stringove koji obuhvataju string
oznacen data-om
data:
Upotrebljava se samo kada je value 0x00018002
Primer:
Kod:
[Version]
Signature="$CHICAGO$"
[DefaultInstall]
DelReg=Reg.Settings
[Reg.Settings]
; Uklanja kljuc: HKCU\Software\Sample
HKCU,Software\Sample
; Uklanja value Cao iz HKCU\Software\Sample
HKCU,Software\Sample,Cao
; Uklanja string "Devojke" iz REG_MULTI_SZ valuesa Cao
HKCU,Software\Sample,Cao,0x00018002,"Devojke"
2c. Postavljanje i brisanje bitova (bits)
BitReg je ekvivalentno AddReg komandi. Znaci, dodaje se [DefaultInstall] sekciji i
oznacava nazive sekcija koje sadrze bitove koje zelite da postavite ili izbrisete. Te sekcije se
jednim imenom zovu [bit-registry-section] sekcije. koristite BitReg komandu kada radite
sa bit maskama u redzistriju. Razlike izmedju [bit-registry-section] i [add-registry-section]
sekcija su sledece:
Parametar “value” nije opcionalan. Parametri “mask” i “byte” zamenjuju value “data”.
Parametar “mask” je 8 bita dugacak i oznacava bit koji zelite da eneblujete ili diseblujete,
dok parameter “byte” oznacava bajt u binarnom valuesu koji menjate. Oznacava bajtove s
leva na desno krecuci od nule.
Sada cemo razmotriti odnos izmedju ove tri komponente koje sam pomenuo a to su: value,
mask i byte. Maskiracemo REG_DWORD value smesten u redzistriju u reverse-byte obliku:
0x0180c000. Kad stavimo masku u bajt 0, rezultat ce biti 0x0180c080. Ako obrisemo masku
u bajtu 1, rezultat ce biti 0x0140c080
Na sledecoj slici parameter “byte” oznacava kojem broju bajta zelimo postaviti masku.
rootkey i subkey:
pravila ista kao i kod dodavanja kljuceva
value:
Naziv vrednosti koja se edituje. Ova vrednost nije opcionalna i treba da bude REG_DWORD
ili REG_BINARY value.
flags:
0x00000000 Brise bitove zadate mask-om
0x00000001 Postavlja bitove zadate mask-om
0x00040000 Vrsi promene u 32-bit redzistriju. Ukoliko nije zadata, promene se vrse na
„normalnom“ redzistriju
mask:
Maska koja postavlja ili uklanja bite u odredjenim bajtima i valuesima. Navodi se u
heksadecimalnom zapisu. Bitovi koji su 1 ce biti postavljeni ili uklonjeni (zavisno od flagsa) ,
a bitovi koji su 0 ce bice ignorisani.
byte:
Oznacava bajt u veluesu za koji zelimo da primenimo mask. Krajnji levi bajt je 0, a sledeci je
1 i tako redom. Imajte na umu da Windows smesta REG_DWORD valuese u reverse-byte
obliku kada odredjujemo bajt na koji zelimo da primenimo mask. Prema tome, u
REG_DWORD valuesu, krajnji levi bajt je smesten na prvom mestu u memoriji.
Primer:
Kod:
[Version]
Signature="$CHICAGO$"
[DefaultInstall]
BitReg=Bit.Settings
[Bit.Settings]
; Menja 50,00,10,00 u 31,00,10,00
HKCU,Software\Sample,Mask,0x0001,0x01,0
; Menja 50,00,F0,00 u 30,00,70,00
HKU,Software\Sample,Mask,0x0000,0x80,2
2e. Upotreba stringova u INF fajlovima
Ovo se vrsi upotrebom [Strings] sekcije. Svaka linija u ovoj sekciji je string u formatu
ime=”string”. Takav string mozete koristiti bilo gde u INF fajlu isticuci ga kao %ime%
Karakteristike [Strings] sekcije:
- Sakuplja stringove na dno INF fajla tako da ga mozete videti na jednom mestu
- Omogucava vam da unesete string jedanput i da onda koristite taj string na brojnim
mestima
- Omogucava lakse prevodjenje INF fajlova jer su stringovi na dnu INF fajla.
Kod:
[Version]
Signature="$CHICAGO$"
[DefaultInstall]
BitReg=Bit.Set
AddReg=Add.Settings
DelReg=Del.Settings
[Add.Settings]
HKCU,%HK_Desktop%,ActiveWndTrkTimeout,0x10001x1000
HKLM,%HK_Setup%,RegisteredOwner..%OWNER%
[Del.Settings]
HKCU,%HK_EXPLORER%\MenuOrder
HKCU,%HK_EXPLORER%\RunMRU
HKCU,%HK_EXPLORER%\RecentDocs
HKCU,%HK_EXPLORER%\ComDlg32\LastvisitedMRU
HKCU.%HK_SEARCH%\ACMru
HKCU,%HK_INTERNET%\TypedURLs
[Bits.Set]
HKCU,%HK_Desktop%,UserPreferencesMask,1,0x01,0
HKCU,%HK_Desktop%,UserPreferencesMask,1,0x40,0
[Strings]
HK_Desktop="Control Panel\Desktop"
HK_EXPLORER="Software\Microsoft\Windows\CurrentVersion\Explore"
HK_SEARCH="Software\Microsoft\Search Assistant"
HK_INTERNET="Software\Microsoft\Internet Explorer"
HK_SETUP="Software\Microsoft\Windows NT\CurrentVersion"
OWNER="Doktor Marko"
3. Kreiranje reg fajlova za popravku kljuceva
Registry fajl je ekvivalentan .inf fajlu i struktura mu je gotovo identicna, s tim da registry fajl
ima extenziju .reg . REG fajl dodajemo na dva nacina: dvoklikom ( u tom slucaju nas sistem
pita za potvrdu) i preko command prompta kucanjem komande regedit /s nazivfajla.reg i
na taj nacin dodajemo REG fajl bez smaranja od strane sistema. REG fajl editujemo
jednostavno, desni klik->edit. Regedit podrzava dva formata: REG fajlove i ANSI.
ANSI encoding karaktera koristi jedan bajt da predstavi svaki karakter. Regedit koristi
ANSI za ispisivanje REG_EXPAND_SZ i REG_MULTI_SZ stringova REG fajlovima , tako da je
svaki karakter ustvari jedan bajt. Version 5 REG fajlovi su Unicode. Unicode encoding
karaktera koristi dva bajta za svaki karakter i kada kreirate Unicode REG fajl, Regedit koristi
dvobajtnu Unicode encoding semu za ispisivanje REG_EXPAND_SZ i REG_MULTI_SZ
stringova REG fajlu.
Kod:
Windows Registry editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\Desktop]
“ActiveWndTrkTimeout”=dword:00000000
“ForegroundFlashCount”=dword:00000003
“ForegroundLockTimeout”=dword:00030d40
“MenuShowDelay”=dword:”400”
“PaintDesktopVersion”:00000000
“UserPreferencesMask”:hex:9e,3e,07,80
[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics]
“Shell Icon BPP”=”16”
“Shell Icon Size”=”32”
“MinAnimate’=”1”
[HKEY_CURRENT_USER\Control Panel\Mouse]
@=”Mis”
“ActiveWindowTracking”=dword:00000000
“DoubleClickHeight”=”4”
“DoubleClickSpeed”=”500”
“DoubleClickWidth”=”4”
“MouseSensitivity”=”10”
“MouseSpeed”=”1”
“MouseThreshold1”=”6”
“MouseThreshold2”=”10”
“SnapToDefaultButton”=”0”
“SwapMouseButtons”=”0”
Sad cu redom da objasnim sta je sta u ovom gronjem primeru.
Windows Registry editor Version 5.00 oznacava da je u pitanju verzija 5 Unicode REG
fajla. Gornji primer predstavlja importovanje podesavanja u tri kljuca: HKCU\Control
Panel\Desktop , HKCU\Control Panel\Desktop\WindowMetrics i HCU\ Control
Panel\Mouse. Ta tri kljuca predstavljaju posebne sekcije, i u svakoj od njih se nalaze valuesi
ciji je format “ime“=value . Oznaka @ predstavlja defaultnu vrednost kljuca. Odredjeni
valuesi sadrze dword i hex , dok su ostali pod navodnicima i takvi valuesi se nazivaju
stringovi . Valuesi u hex:values formatu su REG_BINARY valuesi, a valuesi u dword:values
formatu su REG_DWORD valuesi.
3a. Rucno kreiranje REG fajlova
Otvorite Notepad i na vrhu stavite Windows Registry editor Version 5.00. Za svaki kljuc u
koji zelite da importujete valuese, dodajte sekciju u formatu [kljuc] gde je kljuc naziv
kljuca. Nemojte koristiti skracenice za root kljuceve vec pune nazive tipa:
HKEY_CURENT_USER . Za svaki values koji zelite da importujete u redzistri, dodajte values
u formatu “ime”=value u odgovarajucu sekciju. Koristite @ za defaultnu vrednost kljuca.
Mozete koristiti i obrnutu kosu crtu (backslash) (\) da biste nastavili bilo koji unos sa jednog
reda na drugi. Kada ste iskuckali reg fajl, idite na File->Save As i sacuvajte fajl npod
naizvom imefajla.reg (id a naravno, .reg extenzija se mora nalaziti na kraju).
Formati Valuesa u REG fajlovima:
3.b Brisanje kljuceva upotrebom REG fajla
Ne mozete koristiti REG fajl da bi uklanjali pojedinacne valuese iz redzistrija, vec da bi
uklanjali citave kljuceve. Da biste to uradili, jednostavno stavite znak minus (-) ispred naziva
kljuca tj: [-kljuc]. Evo na pr REG fajl koji ce ukloniti kljuc HKCU\Software\MarkoLegenda
Kod:
Windows Registry editor Version 5.00
[-HKCU\Software\MarkoLegenda]
Ipak je dosta prakticnije da vi lepo exportujete kluc u obliku REG fajla, otvorite ga i rucno
editujete tj maknete kljuceve i valuese iz njega koje zelite da ostanu netaknuti (tj koje ne
zelite ukloniti principom brisanja objasnjenog u gornjem primeru). Nakon toga dodajte
znak minus ispred naziva kljuca koji zelite izbrisati.
4. Editovanje redzistrija putem komandne kozole (batch scriptingom)
Registry kljucevi i valuesi se mogu editovati i uz pomoc Command Prompta.
Evo primera batch fajla koji vrsi instaliranje MS Office 2003 (naravno, ukoliko se vec ne
nalazi na sistemu). Nakon instaliranja Officea
Kod:
\\Camelot\Office\Setup.exe /settings setup.ini
batch fajl dodaje REG_DWORD value Flag , HKCU\Software\Primer valuesu
Kod:
Reg add HKCU\Software\Primer /v Flag /t REG_Dword /d “1”
Batch fajl ce uvek izvrsiti proveru da li su na sistemu vec prisutni doticni valuesi i ako jesu
onda ce preskociti instalaciju, sto znaci da batch fajlovi instaliraju aplikaciju samo jedanput.
Batch fajl proverava postojanje office 2003 na vasem sistemu komandom:
Kod:
Req QUERY HKCU\Software\Microsoft\Office\11.0 >nul
Primer:
Kod:
@Echo off
Reg QUERY HKCU\Software\Primer /v Flag >nul
goto %ERRORLEVEL%
:1
Echo Instaliranje softvera
\\Camelot\Office\Setup.exe /settings setup.ini
Reg add HKCU\Software\Primer /v Flag /t REG_Dword /d “1”
goto CONTINUE
:0
Echo Softver je vec instaliran, ova sekcija se preskace.
:CONTINUE
Set HKMS=HKCU\Software\Microsoft
Set HKCV=HKCU\Softawre\Microsoft\Windows\CurrentVersion
REM Obrisi history listu
Reg DELETE %HKCV%\Explorer\MenuOrder /f
Reg DELETE %HKCV%\Explorer\RunMRU /f
Reg DELETE %HKCV%\Explorer\RecentDocs /f
Reg DELETE %HKCV%\Explorer\ComDlg32\LastVisitedMRU
Reg DELETE “%HKMS%\Search Assistant\ACMru” /f
Reg DELETE “%HKMS%\Internet Explorer\TypedUrls” /f
Komande koje ovde srecemo izmedju ostalog su i: Reg, Set, ADD, QUERY i DELETE (a sve
moguce komande mozete dobiti kada u cmd unesete komandu reg /. )
Opcije su nazivi valuesa, kljuceva i podataka. Kao sto gore vidimo neke komande su i pod
navodnicima, a to je zato sto u svom nazivu sadrze razmak.
4.a Dodavanje kljuceva:
Kljuceve dodajemo komandom ADD
Sintaksa:
REG ADD [\\computer\]key [/v value | /ve] [/t type] [/s separator] [/d data] [/f]
primer:
Kod:
REG ADD \\m4rk0\HKLM\Software\MarkoLegenda
REG ADD HKLM\Software\MarkoLegenda /v Data /t REG_BINARY /d CFEF0BC
REG ADD HKLM\Software\MarkoLegenda /v List /t REG_MULTI_SZ /d
Cao\0Devojke
REG ADD HKLM\Software\MarkoLegenda /v Path /t REG_EXPAND_SZ
%%SYSTEMROOT%%
Jos da napomenem da se kod reg.exe komandne linije moraju koristiti dva znaka
„procenat“ tj. (%%) jer u slucaju da koristimo samo jedan, uslovna varijabla ce se razviti pre
pokretanja komande.
4.b Queryng kljuceva:
Komanda QUERY radi na tri nacina:
- Moze da prikaze podatke u specificnom valuesu
- Moze da prikaze sve valuese unutar kljuca.
- Moze da izlista sve podkljuceve i valuese unutar kljuca, dodavanjem [/b]/s[/b] switcha.
Primer
Kod:
REG QUERY HKLM\Software\Microsoft\Windows\CurrentVersion /s
REG QUERY HKLM\Software\Microsoft\Windows NT\CurrentVersion /v
CurrentVersion
Redzistry postavlja ERRORLEVEL na 0 ako je komanda uspela, a ako nije uspela onda je
vrednost 1.
4.c Brisanje kljuceva i valuesa
Za brisanje kljuceva i valuesa koristite komandu DELETE.
REG DELETE [\\computer\]key [/v value | /ve | /va] [/f]
primer:
Kod:
REG DELETE \\m4rk0\HKLM\Software\MarkoLegenda
REG DELETE HKLM\Software\MarkoLegenda /v Data /f
REG DELETE HKLM\Software\MarkoLegenda /va
4.d Uporedjivanje kljuceva i valuesa
Koristite komandu COMPARE za uporedjivanje dva registry kljuca. Ti kljucevi mogu biti na
istom ili razlicitim racunarima.
Redzistri postavlja ERRORLEVEL prema rezultatima uporedjivanja i mozete upotrebiti taj
rezultat u vasem batch fajlu za izvrsavanje razlicitih kodova, bilo da su dva kljuca/valuesa
ista ili ralzicita, bez prikazivanja bilo kakvog rezultata.
Evo znacenja ERRORLEVEL komande:
0. Komanda je uspesna, i kljucevi ili valuesi su identicni
1. Komanda je neuspesna
2. Komanda je uspesna, i kljucevi ili valuesi su razliciti.
REG COMPARE [\\computer1\]key1 [\\computer2\]key2 [/v value | /ve] [/oa|/od|/os|/on] [/s]
Primer:
Kod:
REG COMPARE HKCR\txtfile HKCR \txtfile HKR\docfile /ve
REG COMPARE \\Marko1\HKCR \\Marko2\HKCR /od /s
REG COMPARE HKCU\Software \\Marko2\HKCU\Software /s
4.e kopiranje kljuceva i valuesa
Koristite komandu COPY za kopiranje podkljuca u drugi kljuc. Ova komanda je korisna kod
bekapovanja podkljuceva.
Sintaksa:
REG COPY [\\computer1\]key1 [\\computer2\]key2 [/s] [/f]
Primer:
Kod:
REG COPY HKCU\Software\Microsoft\Office HKCU\Backup\Office /s
REG COPY HKCU\regfile HKCU\Backup\regfile /s /f
4.f Exportovanje kljuceva u vidu REG fajlova
Koristite komandu EXPORT da biste exportovali ceo ili deo regdzistrija u obliku REG
fajlova. Ovo uspeva samo na lokalnom racunaru, sto znaci da ne mozete da kreirate reg fajl
preko redzistrija remote racunara. Takodje, na ovaj nacin ne mozete kreirati ANSI REG
fajlove, vec samo version 5, Unicode REG fajlove.
EXPORT komanda je isto sto i FILE -> Export u Regeditu.
Sintaksa:
REG EXPORT key filname
Primer:
Kod:
REG EXPORT “HKCU\Control Panel” Preferences.reg
4.g Importovanje REG fajlova
Koristite komandu IMPORT da biste uneli REG fajl u redzistri.
IMPORT komanda je isto sto i regedit /s filname. Na taj nacin se REG fajl importuje tiho
(silently)
Sintaksa:
REG IMPORT filname
Primer:
Kod:
REG IMPORT Settings.reg
4.h Sacuvanje kljuceva u vidu Hive fajlova
Ovo se vrsi komandom SAVE. To je isto kao kad biste u Regeditu isli File -> Export i onda
promenili tip u Registry Hive Files (*.*). Ova komanda radi samo na lokalnom racunaru.
Sintaksa
REG SAVE key filname
Primer:
Kod:
REG SAVE HKU Backup.dat
4.i Restoring Hive fajlova u kljuceve
Ovo se radi komandom RESTORE koja obavlja overwrite kljuca i celokupnog njegovog
sadrzaja sa sadrzajem hive fajla. To je isto sto i importovanje hive fajla u registry. Razlika
izmedju ove komande i ucitavanja hive fajla je u tome sto ova komanda vrsi overwrite bilo
kog postojeceg kljuca, dok ucitavanje hive fajlova kreira novi privremen kljuc koji sadrzi
sadrzaj hive fajla. Ova komanda radi samo na lokalnom racunaru.
Sintaksa:
REG RESTORE key filname
Primer:
Kod:
REG RESTORE HKCU Backup.dat
4.j Loading i unloading Hive fajlova
Komanda LOADING vrsi ucitavanje hive fajla u privremeni kljuc.
Sintaksa:
REG LOAD key filname
Primer:
Kod:
REG LOAD HKU\Temporary Settings.dat
Komanda UNLOAD uklanja hive fajl koji se ucitali koristeci komandu LOAD. Bitno je da
unloadujete hiv fajl koji ste ucitali, pre pokusaja kopiranja ili bilo cega drugog sa hiv fajlom,
jer windows zakljucava fajl ukoliko je u upotrebi.
sintaksa:
REG UNLOAD key
Primer:
Kod:
REG UNLOAD HKU\Temporary