Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Batch Registry Eintrag lesen (mit Steuerzeichen) und neu schreiben

Mitglied: fireraizor

fireraizor (Level 1) - Jetzt verbinden

28.04.2010, aktualisiert 12:33 Uhr, 6696 Aufrufe, 7 Kommentare

Hallo,
ich will die Internet Einstellung für die Proxyeinstellungen per Batch auslesen, einen Wert hinzufügen und neu schreiben.

Dazu habe ich folgenden Code geschrieben:
01.
set KeyInternetSettingCU="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" 
02.
for /f "tokens=3" %%i in ('reg query %KeyInternetSettingCU% /v ProxyOverride^|find "ProxyOverride"') do @set "actualValue=%%i"
Jetzt kommt auf manchen Rechner die Fehlermeldung "Syntaxfehler"

Beim manuellen Auslesen der Registry habe ich dann festgestellt, dass auf den betroffenen Computer in diesem Schlüssel der Registry <local> drin steht.
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyOverride 
! REG.EXE VERSION 3.0 
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings 
    ProxyOverride       REG_SZ  fouedb01;ffumentor;;<local>
Anscheinend machen diese spitzen Klammern Probleme, da sie für Dos die Steuerzeichen für Input oder Output sind.
Wie kann ich trotzdem diesen Schlüssel in eine Variable schreiben?
Mir würde es auch genügen, dieses <local> zu ignorieren und später in der Batch hinzuzufügen.

Gruß,
firerazor
Mitglied: LotPings
28.04.2010 um 12:52 Uhr
Hallo firerazor,

du hast in Zeile 2 den set sauber in Anführungszeichen gesetzt,
ich glaube nicht das der Fehler hier passiert sondern bei der weiteren Verarbeitung von actualValue.
Wenn du den Inhalt an einer Stelle ohne Anführungszeichen bearbeiten musst kannst du die kritischen Zeichen vorher mit ^ escapen.
Dabei ist das Herausfinden der Anzahl von ^ etwas tricky.

Gruß
LotPings
Bitte warten ..
Mitglied: Snowman25
28.04.2010 um 12:54 Uhr
Hallo [fireraizor],

find "ProxyOverride" könntest du mal gegen findstr /i proxyoverride ersetzen. Ist schneller und eignet sich hier auch besser.

folgender code:
01.
for /F "tokens=3" %i in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /V ProxyOverride^|findstr /i "ProxyOverride"') do echo %i
funktioniert bei mir wunderbar.
Rückgabe:
*.firma.local;192.18.235.*;<local>
Bitte warten ..
Mitglied: fireraizor
28.04.2010 um 13:01 Uhr
Hallo Snowman,
ich will diese Variable actualValue nachher noch weiter bearbeiten. Da tritt, wie LotPings, angemerkt hat, dann der Syntaxfehler auf, da er da dann über die spitzen Klammer stolpert.
01.
for /F "tokens=3" %%i in ('reg query %KeyInternetSettingCU% /V ProxyOverride^|findstr /i "ProxyOverride"') do @set "actualValue=%%i" 
02.
set actualValue=%actualValue%;192.168.0.1 
03.
echo %actualValue% 
04.
REG ADD %KeyInternetSettingCU% /v ProxyOverride /t REG_SZ /d %actualValue%
Wie kann dieses <local> absplitten, so dass ich die Variable bearbeiten kann?

Gruß,
Fireraizor
Bitte warten ..
Mitglied: Biber
28.04.2010 um 13:12 Uhr
Moin fireraizor,

wie dat Lordchen schon schrieb - du musst es mit Carets (Caret=^ ) maskieren.

Demo am CMD-Prompt:

>for /f "tokens=3" %i in ("dummy dummy fouedb01;ffumentor;;<local>") do @set "testxxvar=[%i]" & set testxxvar 
testxxvar=[fouedb01;ffumentor;;<local>] 
 
>set "testxxvar=%Testxxvar:>=^>%" & set testxxv 
testxxvar=[fouedb01;ffumentor;;<local^>] 
 
>set "testxxvar=%Testxxvar:<=^<%" & set testxxv 
testxxvar=[fouedb01;ffumentor;;^<local^>]
nach den zwei Wechsel/Ersetze-SET-Befehlen ("Set "testxxVar=%testxxvar:....%") ist in der LETZTEN angezeigten Zeile der maskierte Inhalt zu sehen.
Den wiederum kannst du gefahrlos durch den Skript schleppen ohne Seiteneffekte.
Beim Schreiben oder ausgeben mit ECHO werden die "^" dann wegradiert.

Grüße
Biber.
Bitte warten ..
Mitglied: fireraizor
28.04.2010 um 14:44 Uhr
Hallo miteinander,
vielen Dank für eure Hilfe, ich habe das Problem lösen können. Der Vollständigkeit poste ich meinen Lösungsansatz:
01.
set KeyInternetSettingCU="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" 
02.
for /f "tokens=3" %%i in ('reg query %KeyInternetSettingCU% /V ProxyOverride^|findstr /i "ProxyOverride"') do @set "actualValue=%%i" 
03.
set "actualValue=%actualValue:>=^>%" 
04.
set "actualValue=%actualValue:<=^<%" 
05.
set "actualValue=%actualValue:;^<local^>=%" 
06.
set "actualValue=%actualValue%;%ProxySetting%;^<local^>" 
07.
echo %actualValue% 
08.
REG ADD %KeyInternetSettingCU% /v ProxyOverride /t REG_SZ /d %actualValue%
4.05. Habe es jetzt noch aktualisiert.
Bitte warten ..
Mitglied: Biber
28.04.2010 um 15:23 Uhr
Moin fileraizor,

nur damit wir aneinander vorbeireden/vorbeiskripten
  • mein Demo-Ansatz war, dass eventuell vorhandene ">" und "<"-Zeichen erhalten bleiben können (egal, ob da "<local>" steht oder "<global>")
  • dein Ansatz ist jetzt aber, dass auf jeden Fall ein Teilstring ";<local>", falls vorhanden, entfernt wird und am Ende in jedem Fall/bei jedem Rechner neu ergänzt wird.
  • die eckigen Klammern "[" und "]" in meiner Demo-Set-Anweisung dienten nur zur Kenntlichmachung in der Anzeige. Also lass die beim ersten SET weg (Zeile 02), dann kannst du Zeile 06/07 wieder streichen.

Grüße
Biber
Bitte warten ..
Mitglied: fireraizor
28.04.2010 um 15:29 Uhr
Hallo Biber

* mein Demo-Ansatz war, dass eventuell vorhandene ">" und "<"-Zeichen erhalten bleiben können (egal, ob da "<local>" steht oder "<global>")
Ich hatte zuerst versucht, das <local> abzutrennen, gab ne Fehlermeldung, drum habe ich es jetzt so gelassen. War aber wahrscheinlich dann ein Typo, werde ich nochmal prüfen
* dein Ansatz ist jetzt aber, dass auf jeden Fall ein Teilstring ";<local>", falls vorhanden, entfernt wird und am Ende in jedem Fall/bei jedem Rechner neu ergänzt wird.
Genau, ist momentan der quick und dirty Ansatz
* die eckigen Klammern "[" und "]" in meiner Demo-Set-Anweisung dienten nur zur Kenntlichmachung in der Anzeige. Also lass die beim ersten SET weg (Zeile 02), dann kannst du Zeile 06/07 wieder streichen.
Okay, werde ich bei mir bei einem Update aktualisieren, wie gesagt, es musste schnell gehen

Gruß,
fireraizor
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Mit Batch-Datei eine Datei lesen, Zeilen ändern und als neue Datei schreiben

gelöst Frage von GeoSemBatch & Shell20 Kommentare

Hallo Ich versuche nun schon seit einiger Zeit das "kleine" Script (unter Windows 8) zum laufen zu bringen - ...

Windows Systemdateien

Registry-Schlüssel per Batch auslesen und in Datei schreiben

gelöst Frage von PhilzipWindows Systemdateien9 Kommentare

Hallo zusammen, ich habe mir vorhin einen Befehl gebastelt, der die Installierte Version von NET Framework auslesen und in ...

Batch & Shell

Variable per Batch auslesen und in Registry schreiben

gelöst Frage von ZendaraBatch & Shell3 Kommentare

Hallo, ich versuche gerade einen Batch zuerstellen der mir gewisse Werte ausliest und als Variable in die Registry schreibt. ...

Batch & Shell

Registry Einträge erstellen bzw. bearbeiten mit Batch

gelöst Frage von rubber11Batch & Shell4 Kommentare

Hallo zusammen, ich möchte für meine Clients einen Batch schreiben, welcher es ermöglicht, dass die Serveradresse mittels HTTPS im ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Windows Server
NTFS Berechtigungen Ordnerstruktur
Frage von hukahu23489Windows Server11 Kommentare

Hallo, ich bin seit kurzem in einer neuen IT-Abteilung und bin über das Berechtigungskonzept des Unternehmens sehr schockiert. Ich ...

Exchange Server
NDR umleiten
Frage von isomasterExchange Server10 Kommentare

Hallo Kollege, ich habe ein Problem mit dem Exchange Server. Wir haben unsere info@ Adresse als Verteilergruppe eingebunden (so ...

Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...