Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

lancer un fichier .reg en vbs?

5 réponses
Avatar
fred
Bonjour,
J'aimerais lancer un fichier .reg en vbs.
J'ai tenté avec ceci
REGEDIT.EXE "C:\Documents and Settings\Mes documents\test.reg"
J'ai l'erreur : Objet requis 'Regedit'
Merci de votre aide

5 réponses

Avatar
~Jean-Marc~ [MVP]
Salutations fred, tu nous disais :
Bonjour,
J'aimerais lancer un fichier .reg en vbs.
J'ai tenté avec ceci
REGEDIT.EXE "C:Documents and SettingsMes documentstest.reg"
J'ai l'erreur : Objet requis 'Regedit'
Merci de votre aide


En VBS :

Dim shell, windir
Set shell = WScript.CreateObject("WScript.Shell")
windir=shell.ExpandEnvironmentStrings("%windir%")
shell.exec(windir & "regedit.exe /s ""C:Documents and SettingsMes documentstest.reg""")
Set Shell=nothing

Pas testé, mais ça devrait tourner.

@+

--
~Jean-Marc~ MVP Shell/User Fr
- http://msmvps.com/blogs/docxp/ -
- http://docxp.mvps.org -

Avatar
Jean-Claude BELLAMY
Dans le message :452f57cb$0$15229$,
fred a pris la peine d'écrire ce qui suit :
Bonjour,
J'aimerais lancer un fichier .reg en vbs.
J'ai tenté avec ceci
REGEDIT.EXE "C:Documents and SettingsMes documentstest.reg"
J'ai l'erreur : Objet requis 'Regedit'


NORMAL !!!!!
"REGEDIT" n'a JAMAIS été une commande VBS ou une classe WSH !



Ou bien tu passes par la méthode "run" de la classe "WScript.Shell" :

Set shell = WScript.CreateObject("WScript.Shell")
shell.run "REGEDIT.EXE /s ""C:Documents and SettingsMes
documentstest.reg"""

(attention aux doubles guillemets !)

mais AMHA c'est une méthode complètement SHADOK, vu qu'il existe tout ce
qu'il faut dans WSH pour gérer directement la BDR !
(et si on veut faire des choses vraiment "exotiques", on dispose de WMI + la
classe StdRegProv)

Set shell = WScript.CreateObject("WScript.Shell")
shell.regwrite clef, valeur, type-de-valeur

http://www.bellamyjc.org/fr/vbsobj/wsmthregwrite.html


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr

Avatar
fred
Encore merci pour votre aide.
J'ai regardé en effectuant un test concernant un changement d'une valeur du
registre pour le niveau de sécurité des macros excel.
Dim WSHShell, val1, val2,Lire,Lire2,itemtype
Set WshShell = WScript.CreateObject("WScript.Shell")
val1="HKEY_CURRENT_USERSoftwareMicrosoftOffice11.0ExcelSecurityLevel"
itemtype = "REG_SZ"
WScript.Echo WshShell.RegRead(val1) ' Lire le "level" de sécurité.
Lire = WSHShell.RegRead(val1)
if Lire>1 then
WshShell.RegWrite(val1),1,itemtype
end if
Lire2 = WSHShell.RegRead(val1)
WScript.Echo Lire2


"Jean-Claude BELLAMY" a écrit dans le
message de news:
Dans le message :452f57cb$0$15229$,
fred a pris la peine d'écrire ce qui suit :
Bonjour,
J'aimerais lancer un fichier .reg en vbs.
J'ai tenté avec ceci
REGEDIT.EXE "C:Documents and SettingsMes documentstest.reg"
J'ai l'erreur : Objet requis 'Regedit'


NORMAL !!!!!
"REGEDIT" n'a JAMAIS été une commande VBS ou une classe WSH !



Ou bien tu passes par la méthode "run" de la classe "WScript.Shell" :

Set shell = WScript.CreateObject("WScript.Shell")
shell.run "REGEDIT.EXE /s ""C:Documents and SettingsMes
documentstest.reg"""

(attention aux doubles guillemets !)

mais AMHA c'est une méthode complètement SHADOK, vu qu'il existe tout ce
qu'il faut dans WSH pour gérer directement la BDR !
(et si on veut faire des choses vraiment "exotiques", on dispose de WMI +
la classe StdRegProv)

Set shell = WScript.CreateObject("WScript.Shell")
shell.regwrite clef, valeur, type-de-valeur

http://www.bellamyjc.org/fr/vbsobj/wsmthregwrite.html


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr





Avatar
fred
Petite correction, la valeur itemtype = "REG_DWORD"
Une dernière question...on peut lire , écrire dans la base de registre mais
comment faire pour créer une valeur chaine ou autres clés?
Merci!

"fred" a écrit dans le message de news:
45324fc0$0$22105$
Encore merci pour votre aide.
J'ai regardé en effectuant un test concernant un changement d'une valeur
du registre pour le niveau de sécurité des macros excel.
Dim WSHShell, val1, val2,Lire,Lire2,itemtype
Set WshShell = WScript.CreateObject("WScript.Shell")
val1="HKEY_CURRENT_USERSoftwareMicrosoftOffice11.0ExcelSecurityLevel"
itemtype = "REG_SZ"
WScript.Echo WshShell.RegRead(val1) ' Lire le "level" de sécurité.
Lire = WSHShell.RegRead(val1)
if Lire>1 then
WshShell.RegWrite(val1),1,itemtype
end if
Lire2 = WSHShell.RegRead(val1)
WScript.Echo Lire2


"Jean-Claude BELLAMY" a écrit dans le
message de news:
Dans le message :452f57cb$0$15229$,
fred a pris la peine d'écrire ce qui suit :
Bonjour,
J'aimerais lancer un fichier .reg en vbs.
J'ai tenté avec ceci
REGEDIT.EXE "C:Documents and SettingsMes documentstest.reg"
J'ai l'erreur : Objet requis 'Regedit'


NORMAL !!!!!
"REGEDIT" n'a JAMAIS été une commande VBS ou une classe WSH !



Ou bien tu passes par la méthode "run" de la classe "WScript.Shell" :

Set shell = WScript.CreateObject("WScript.Shell")
shell.run "REGEDIT.EXE /s ""C:Documents and SettingsMes
documentstest.reg"""

(attention aux doubles guillemets !)

mais AMHA c'est une méthode complètement SHADOK, vu qu'il existe tout ce
qu'il faut dans WSH pour gérer directement la BDR !
(et si on veut faire des choses vraiment "exotiques", on dispose de WMI +
la classe StdRegProv)

Set shell = WScript.CreateObject("WScript.Shell")
shell.regwrite clef, valeur, type-de-valeur

http://www.bellamyjc.org/fr/vbsobj/wsmthregwrite.html


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr









Avatar
fred
En fait avec RegWrite on créer effectivement une valeur, clé etc..
itemtype = "REG_SZ"
val2="HKEY_CURRENT_USERSoftwareMicrosoft...NouvelleClé"
WshShell.RegWrite(val2),2,itemtype


"fred" a écrit dans le message de news:
45325601$0$21531$
Petite correction, la valeur itemtype = "REG_DWORD"
Une dernière question...on peut lire , écrire dans la base de registre
mais comment faire pour créer une valeur chaine ou autres clés?
Merci!

"fred" a écrit dans le message de news:
45324fc0$0$22105$
Encore merci pour votre aide.
J'ai regardé en effectuant un test concernant un changement d'une valeur
du registre pour le niveau de sécurité des macros excel.
Dim WSHShell, val1, val2,Lire,Lire2,itemtype
Set WshShell = WScript.CreateObject("WScript.Shell")
val1="HKEY_CURRENT_USERSoftwareMicrosoftOffice11.0ExcelSecurityLevel"
itemtype = "REG_SZ"
WScript.Echo WshShell.RegRead(val1) ' Lire le "level" de sécurité.
Lire = WSHShell.RegRead(val1)
if Lire>1 then
WshShell.RegWrite(val1),1,itemtype
end if
Lire2 = WSHShell.RegRead(val1)
WScript.Echo Lire2


"Jean-Claude BELLAMY" a écrit dans le
message de news:
Dans le message :452f57cb$0$15229$,
fred a pris la peine d'écrire ce qui suit :
Bonjour,
J'aimerais lancer un fichier .reg en vbs.
J'ai tenté avec ceci
REGEDIT.EXE "C:Documents and SettingsMes documentstest.reg"
J'ai l'erreur : Objet requis 'Regedit'


NORMAL !!!!!
"REGEDIT" n'a JAMAIS été une commande VBS ou une classe WSH !



Ou bien tu passes par la méthode "run" de la classe "WScript.Shell" :

Set shell = WScript.CreateObject("WScript.Shell")
shell.run "REGEDIT.EXE /s ""C:Documents and SettingsMes
documentstest.reg"""

(attention aux doubles guillemets !)

mais AMHA c'est une méthode complètement SHADOK, vu qu'il existe tout ce
qu'il faut dans WSH pour gérer directement la BDR !
(et si on veut faire des choses vraiment "exotiques", on dispose de WMI
+ la classe StdRegProv)

Set shell = WScript.CreateObject("WScript.Shell")
shell.regwrite clef, valeur, type-de-valeur

http://www.bellamyjc.org/fr/vbsobj/wsmthregwrite.html


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr