mastroale
08-03-2005, 22:09
Volendo aggiungere/modificare chiavi di sistema, e volendo fare un file .reg da dare in mano a un utente inesperto...come si procede?
Grazie, Alessandro
è un file di testo con estensione . reg
ne lfile metti tra le quadre[] il percorso delal cartella e nella riga dopo il nome della chiave tra gli appici ,poi =, ed infine il tipo di valore , i : , ed il valore
La cosa più semplice da fare è modificare o creare le chiavi direttamente nel registro e poi esportarle da regedit.
Il file che esce è un .reg, e il contenuto è simile a quanto ti riporto qui sotto (ottenuto esportando la chiave di firefox tramite regedit):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox 1.0.1]
"GeckoVer"="1.0.1"
[HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox 1.0.1\bin]
"PathToExe"="C:\\Program Files\\Mozilla Firefox\\firefox.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox 1.0.1\Extensions]
"Components"="C:\\Program Files\\Mozilla Firefox\\Components"
"Plugins"="C:\\Program Files\\Mozilla Firefox\\Plugins"
La cosa più semplice da fare è modificare o creare le chiavi direttamente nel registro e poi esportarle da regedit. Quoto. Scrivere a mano i file per modificare il registro non è affatto comodo e si rischia di mandare tutto a puttane (nel senso che si aggiungono chiavi e/o valori privi di significato) per un semplice errore di battitura.
Se proprio ti piace fare tutto a mano, è preferibile utilizzare il comando REG (che però è presente da Windows XP in poi). Il suo utilizzo è davvero semplice, e non sto qui a spiegartelo perché basta digitare "REG /?" dal prompt dei comandi. Il vantaggio, rispetto allo scrivere i file .reg a mano, sta nel fatto che puoi utilizzare un file batch per aggiungere, cancellare o modificare numerosi valori. Ciò, naturalmente, è parzialmente possibile anche con un file .reg (parzialmente perché non puoi cancellare i singoli valori ma solo le chiavi), ma il vantaggio di un file batch sta nel fatto che, se il comando che hai scritto è errato, ti appare un messaggio di errore, il che non accade con i file .reg.
ne lfile metti tra le quadre[] il percorso delal cartella e nella riga dopo il nome della chiave tra gli appici ,poi =, ed infine il tipo di valore , i : , ed il valore Ciò è vero solo in parte, e cioè se devi aggiungere o editare valori di tipo REG_SZ. Altrimenti devi specificare il tipo di valore. La sintassi è la seguente:
"Valore"="stringa" per i valori di tipo REG_SZ
"Valore"=dword:stringa per i valori di tipo REG_DWORD
"Valore"=hex:stringa per i valori di tipo REG_BINARY
"Valore"=hex(2):stringa per i valori di tipo REG_EXPAND_SZ
"Valore"=hex(7):stringa per i valori di tipo REG_MULTI_SZ
Se va bene per i valori REG_SZ e REG_DWORD, è improponibile scrivere a mano valori REG_BINARY, REG_MULTI_SZ e REG_EXPAND_SZ
Ti faccio due esempi per chiarire:
Esempio di file .reg
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\Desktop]
"MenuShowDelay"="100"
"ForegroundFlashCount"=dword:00000003
"UserPreferencesMask"=hex:b0,12,01,80
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
"AppData"=hex(2):25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,\
4c,00,45,00,25,00,5c,00,44,00,61,00,74,00,69,00,20,00,61,00,70,00,70,00,6c,\
00,69,00,63,00,61,00,7a,00,69,00,6f,00,6e,00,69,00,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"PagingFiles"=hex(7):45,00,3a,00,5c,00,70,00,61,00,67,00,65,00,66,00,69,00,6c,\
00,65,00,2e,00,73,00,79,00,73,00,20,00,33,00,38,00,34,00,20,00,35,00,31,00,\
Tutto questo macello si poteva scrivere più semplicemente in un file .bat nel seguente modo:
Esempio di file batch
REG ADD "HKCU\Control Panel\Desktop" /t REG_SZ /v MenuShowDelay /d 100 /f
REG ADD "HKCU\Control Panel\Desktop" /t REG_DWORD /v ForegroundFlashCount /d 3 /f
REG ADD "HKCU\Control Panel\Desktop" /t REG_BINARY /v UserPreferencesMask /d b0120180 /f
REG ADD "HKCU\"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /t REG_EXPAND_SZ /v AppData /d "%USERPROFILE%\Dati Applicazioni" /f
REG ADD "HKLM\"SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /t REG_MULTI_SZ /v PaginFiles /d "E:\pagefile.sys 384 512" /f
(Il parametro f alla fine di ogni riga sovrascrive le voci senza chiedere conferma)
Ciao.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.