Nur den Teil eines Registry-Wertes per Batch auslesen?
Hallo,
ich habe leider mal wieder ein für mich schier unlösbares Problem
Ich habe einen Registry-Eintrag des Wertes "ProxyServer" im Format
"http=mein-proxy.test.de:80;https=mein-proxy.test.de:80;ftp=ftp-proxy.test.de:80;gopher=mein-proxy.test.de:80"
unter HKEY_USERS\S-1-5-21-1289117853-911153512-630672053-161577\Software\Microsoft\Windows\CurrentVersion\Internet Settings
Nun brauche ich in einer Variable den Teil "mein-proxy.test.de:80" - wie kann ich das bewerkstelligen?
Ich bin für jede Hilfe wirklich sehr dankbar!!!
Viele Grüße
cool400
ich habe leider mal wieder ein für mich schier unlösbares Problem
Ich habe einen Registry-Eintrag des Wertes "ProxyServer" im Format
"http=mein-proxy.test.de:80;https=mein-proxy.test.de:80;ftp=ftp-proxy.test.de:80;gopher=mein-proxy.test.de:80"
unter HKEY_USERS\S-1-5-21-1289117853-911153512-630672053-161577\Software\Microsoft\Windows\CurrentVersion\Internet Settings
Nun brauche ich in einer Variable den Teil "mein-proxy.test.de:80" - wie kann ich das bewerkstelligen?
Ich bin für jede Hilfe wirklich sehr dankbar!!!
Viele Grüße
cool400
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 90477
Url: https://administrator.de/forum/nur-den-teil-eines-registry-wertes-per-batch-auslesen-90477.html
Ausgedruckt am: 20.05.2025 um 20:05 Uhr
7 Kommentare
Neuester Kommentar
Moin cool400,
würde ich zwar mit einem Oneliner abfackeln, aber gedanklich in mehrere Schritte zerlegen.
In etwa so:
[ungetestete, wenn auch tippfehlerbereinigte Skizze, siehe unten]
Grüße
Biber
würde ich zwar mit einem Oneliner abfackeln, aber gedanklich in mehrere Schritte zerlegen.
In etwa so:
...
Set regkey="HKCU\Software\Microsoft\Windows\Currentversion\Internet Settings"
:: Schritt 1 die ganze Zeile auslesen
For /f "tokens=3" %%i in ('reg query %regkey% /v "ProxyServer"^|find /i "Proxyserver"') do set "alleProxies=%%i"
:: in %alleProxies steht jetzt der ganze Wert... mit Semikolon als Trennzeichen
:: Optimistische Annahme: es stehen IMMER 4 Werte drin in 4x2 Tokens
for /f "delims==; tokens=1-8" %%a in ("%alleproxies%") do (
If [%%a] NEQ Set "%%aProxy=%%b"
If [%%c] NEQ Set "%%cProxy=%%d"
If [%%e] NEQ Set "%%eProxy=%%f"
If [%%g] NEQ Set "%%gProxy=%%h"
)
:: Ergebnis - (bis zu) 4 Variablen
:: %HttpProxy% ==> mein-proxy.test.de:80
:: %HttpsProxy% ==> (der Wert hinter "Https=")
:: %FTPProxy% ==> (der Wert hinter "FTP=")
:: %gopherProxy% ==> (der Wert hinter "gopher=")
:: Und in %HttpProxy% steht Dein gesuchter Wert
Grüße
Biber
Moin cool400,
danke Dir für die ebenfalls superschnelle Rückmeldung.
ja, an der o.a. Stelle fehlt natürlich in der Tat ein Anführungszeichen.
Ich trage es oben im Schnipsel nach.
Und: Du kannst es ja durchaus selbst testen, wenn Du für 10 Minuten Testdauer diesen Registry-Eintrag anlegst (oder einen Vergleichbaren).
Schönes Wochenende
Biber
danke Dir für die ebenfalls superschnelle Rückmeldung.
ja, an der o.a. Stelle fehlt natürlich in der Tat ein Anführungszeichen.
Ich trage es oben im Schnipsel nach.
Und: Du kannst es ja durchaus selbst testen, wenn Du für 10 Minuten Testdauer diesen Registry-Eintrag anlegst (oder einen Vergleichbaren).
Schönes Wochenende
Biber
Moin cool400,
wenn ich den Schnipsel nun vor mir sehe, dann fällt mir auf, dass die FOR/F-Laufvariable fälschlicherweise von mir als %a statt %%a geschrieben wurde. Sorry.
Ich ändere es oben im Schnipsel. Ist dennoch immer noch ungetestet von mir.
Grüße
Biber
P.S. Mein Tipp für heute abend: klarer 1:0-Sieg nach Elfmeterschießen.
wenn ich den Schnipsel nun vor mir sehe, dann fällt mir auf, dass die FOR/F-Laufvariable fälschlicherweise von mir als %a statt %%a geschrieben wurde. Sorry.
Ich ändere es oben im Schnipsel. Ist dennoch immer noch ungetestet von mir.
Grüße
Biber
P.S. Mein Tipp für heute abend: klarer 1:0-Sieg nach Elfmeterschießen.