Ecrire une variable d'environnement système

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
SMIET
Batcheur occasionnel
Messages : 5
Enregistré le : 16 déc. 2021 04:26

Ecrire une variable d'environnement système

Message par SMIET »

Salut,

J'ai ce scripts pour écrire une variable d'environnement système
il fonctionne très bien

Code : Tout sélectionner

If CreateObject("WScript.Shell").Run("%ComSpec% /C ""NET FILE""", 0, True) <> 0 Then
    CreateObject("Shell.Application").ShellExecute WScript.FullName, """" & WScript.ScriptFullName & """", , "runas", 5
    WScript.Quit
End If
Set Shell = CreateObject("WScript.Shell")
Cmd = Shell.Exec("%ComSpec% /C ""REG QUERY ""HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"" /v Path | FINDSTR /I /C:""REG_SZ"" /C: ""REG_EXPAND_SZ""""").StdOut.ReadAll
Cmd = """" & Trim(Replace(Mid(Cmd, InStr(1, Cmd, "_SZ", VBTextCompare) + 3), vbCrLf, ""))
If Right(Cmd, 1) <> ";" Then Cmd = Cmd & ";"
Cmd = "%ComSpec% /C ""REG ADD ""HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"" /v Path /t REG_EXPAND_SZ /d " & Replace(Cmd & "C:\Program Files\My Prog"" /f""", "%", """%""")
Shell.Run Cmd, 0, True
Mais je n'arrive pas à trouver pour supprimer uniquement "C:\Program Files\My Prog" de Path mais pas les autres lignes ?!
avec le même scripts ou .bat ou autres...

Quelqu'un à une idée

Je cherche aussi pour écrire et supprimer une ligne dans une variable d'environnement utilisateur
avec le même scripts ou .bat ou autres...

Merci

@+
SMIET
Batcheur occasionnel
Messages : 5
Enregistré le : 16 déc. 2021 04:26

Re: Ecrire une variable d'environnement système

Message par SMIET »

Salut,

J'ai trouvé sur un autre Forum, si ça peut servir à quelqu'un...

Supprimer une variable d'environnement système.vbs

Code : Tout sélectionner

'Exécute les commandes en administateur
If CreateObject("WScript.Shell").Run("%ComSpec% /C ""NET FILE""", 0, True) <> 0 Then
CreateObject("Shell.Application").ShellExecute WScript.FullName, """" & WScript.ScriptFullName & """", , "runas", 5
WScript.Quit
End If
'Lecture de la Clé
Set WshShell = CreateObject("WScript.Shell")
Key = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path"
regValue = WshShell.RegRead(Key)
'SUPPRESSION DE LA CLEF AVEC LA VALEUR "C:\Program Files\My Prog;"
RemoveValue = replace (regValue, "C:\Program Files\My Prog;", "")
WshShell.RegWrite Key,RemoveValue,"REG_EXPAND_SZ"
@+
Répondre