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 Reg.exe von verschieden Pfanden aus aufrufen

Mitglied: mycroftone

mycroftone (Level 1) - Jetzt verbinden

19.10.2011 um 17:02 Uhr, 3473 Aufrufe, 4 Kommentare

Ich möchte werte aus der Registry auslesen.

Mit der Zeile
FOR /F "skip=2 tokens=1,2*" %%A IN ('reg QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList" /v ProfilesDirectory') DO SET _ProfilesDirectory=%%C
funktiniort es auch wunderbar.

Nur habe ich die reg.exe nicht immer an der selben stellen.

Deswegen habe ich folgenden Zeile.

FOR /F "skip=2 tokens=1,2*" %%A IN ('%reg-path% QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList" /v ProfilesDirectory') DO SET _ProfilesDirectory=%%C

Wenn reg-path z.b. den Wert {C:\temp\reg.exe} hat funktioniert es auch immer super. set "reg-path=C:\temp\reg.exe"

Nicht immer ( in 5% der Falle jedenfalls unter Windows 2000) funktioniert leider reg.exe
also bei set "reg-path=reg.exe" kommt manchmal die Fehlermeldung
Der Befehl reg.exe ist enweder falsch geschrieben oder nicht vorhanden.

Dann also mit fester Pfadangabe. Ist auch keine Problem habe ich mir gedacht.

Wenn jetzt aber der Pfad zur reg Datei ein Leerzeichen hat komm es zur Fehlermeldung

z.b. bei

set "reg-path=:\Dokumente und Einstellungen\Administrator\Desktop\DC-Support\reg.exe"
FOR /F "skip=2 tokens=1,2*" %%A IN ('%reg-path% QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList" /v ProfilesDirectory') DO SET _ProfilesDirectory=%%

Kommt die Fehlermeldung Befehl C:\Dokumente nicht gefunden . Da habe ich mir gedacht auch keine Problem. dann setzt ich halt den Pfad in Hochkomma

FOR /F "skip=2 tokens=1,2*" %%A IN ('"%reg-path%" QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList" /v ProfilesDirectory') DO SET _ProfilesDirectory=%%

Aber irgendwie erkennt er die Hochkomma nicht und es kommt die selbe Fehlermeldung. Da habe ich mir dann gedacht naja vielleicht muß ich die " auch negieren.

Aber
FOR /F "skip=2 tokens=1,2*" %%A IN ('""%reg-path%"" QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList" /v ProfilesDirectory') DO SET _ProfilesDirectory=%%
Oder
FOR /F "skip=2 tokens=1,2*" %%A IN ('"""%reg-path%""" QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList" /v ProfilesDirectory') DO SET _ProfilesDirectory=%%

Bringen auch nicht das gewünschte Ergebnis.

Nur alleien ein "%reg-path%" QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList" /v ProfilesDirectory' funktioniert.

Aber in der FOR Schleife funktioniert das ganze irgendwie nicht.

Kann mir da jemand bei dem Syntakt helfen.
Mitglied: bastla
19.10.2011 um 18:25 Uhr
Hallo mycroftone!

Unter der Annahme, dass an das Ende Deiner Test-Zeilen auch noch ein "C" zu denken wäre (ich hoffe, der Hinweis war nicht syntaktlos ), könntest Du mal
FOR /F "skip=2 tokens=1,2*" %%A IN ('call "%reg-path%" QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList" /v ProfilesDirectory') DO SET "_ProfilesDirectory=%%C"
versuchen ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
21.10.2011 um 20:21 Uhr
Moin mycroftone,

ergänzend zu bastlas Hinweis noch die Anmerkung:
Wenn du doch eh schon Variablen verwendest, dann mach doch das Ganze ein büschen lesbarer, indem du statt
Set "reg-path=X:\Pfad zur Exedatei\reg.exe" 
FOR /F "skip=2 tokens=1,2*" %%A IN ('call "%reg-path%" QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList" /v ProfilesDirectory') DO SET "_ProfilesDirectory=%%C"
.... lieber 2 Variablen verwendest.
  • Eine für den Pfad in der Registry --> die würde ich %RegPath% nennen
  • Eine für den Pfad und Dateinamen der Reg.exe -> die würde ich %regexe% nennen

Dann sähe es so aus:
Set "regexe=X:\Pfad zur Exedatei\reg.exe" 
Set "RegPath=HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList"  
 
FOR /F "skip=2 tokens=1,2*" %%A IN ('call "%regexe%" QUERY "%regPath%" /v ProfilesDirectory') DO SET "_ProfilesDirectory=%%C"
Finde ich (in Anbetracht der Umstände) etwas lesbarer und weniger tippfehleranfällig.

Obwohl - GANZ GAR NIE NICHT würde ich bei mir Variablen wie %_ProfilesDirectory%, also mit Unterstrich beginnende verwenden.
Wenn du Konflikte mit eventuell existierenden Variablen vermeiden willst, dann definiere deine Variablen mit Scope "privat", also setze eine Anweisung "SetLocal" an den Anfang des Bätsches.

Und/oder, wenn du den sprechenden Variablennamen %ProfilesDirectory% gerne beibehalten möchtest, dann nenne deine Variable

Set "myProfilesDirectory=%%C"
Grüße und baldiges Wochenende
Biber

[Edit] Tippfehlerkorrektur. Thx@bastla für den berechtigten Hinweis [/Edit]
Bitte warten ..
Mitglied: bastla
21.10.2011 um 23:25 Uhr
@Biber
%regexe% ist in der entscheidenden Zeile noch etwas unterrepräsentiert ...

Grüße
bastla
Bitte warten ..
Mitglied: mycroftone
03.11.2011 um 10:10 Uhr
Danke Bastel

call %reg-path% funktioniert.

Die komplett funktionierende Zeile schaut wie folgt aus.

FOR /F "skip=2 tokens=1,2*" %%A IN ('call "%reg-path%" QUERY "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList" /v ProfilesDirectory') DO SET _ProfilesDirectory=%%C

@Biber
setlocal habe ich am Anfang gesetzt
Den Pfad zur reg.exe ermittele ich dann um ihn später beim auslesen verschieden Registry HIV mit Werten zu verwenden. Deswegen ist eine Variabel für die HIV unpraktikabel.

Aber trozdem danke für alle eure hinweise .
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Powershell: Registry Sichern und wiederherstellen (ohne reg.exe oder regedit.exe)

gelöst Frage von tralvellerBatch & Shell6 Kommentare

Hallo zusammen, ich versuche momentan bestimmte Registry-Schlüssel und Werte zu sichern, kann aber nicht auf reg.exe oder regedit.exe zurückgreifen. ...

Entwicklung

Mit USB Stick verschieden Programme aufrufen u.a. Outlook-Webaccess

gelöst Frage von rababar2014Entwicklung7 Kommentare

Hallo Leude, ich plane gerade ein kleine Spielerei für unterwegs. Ich möchte gerne einen USB-Stick so modifizieren, dass man ...

JavaScript

Zweiter Aufruf einer Funktion unterbricht ersten Aufruf

gelöst Frage von BadgerJavaScript6 Kommentare

Hallo Leute, ich habe folgendes Problem: Ich habe eine JS Funktion welche dann eine jQuery ajax Funktion aufruft Soweit ...

Batch & Shell

Exe ohne Fenster aus vb aufrufen

gelöst Frage von Mit.ohne.AhnungBatch & Shell12 Kommentare

Hallo Zusammen, ich erstelle gerade ein Programm mit Visual Studio und möchte eine exe aufrufen ohne das ein Fenster ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 18 StundenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 1 TagSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 1 TagWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit18 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk13 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...