Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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 query probleme zeichenfolge wert auslesen

Frage Entwicklung Batch & Shell

Mitglied: Michi90

Michi90 (Level 1) - Jetzt verbinden

06.02.2009, aktualisiert 17:12 Uhr, 9946 Aufrufe, 11 Kommentare

per "reg query " den wert einer zeichenfolge auslesen ...

Hallo,
bin neu hier und hab eine frage, hab auch schon das forum einwenig durch geblättert aber keine antwort gefunden...

Unzwar möchte ich einen Wert aus einer zeichenfolge auslesen. Krieg das iwie nicht hin

So hatte ich mir das gedacht, aber funktioniert nicht...
01.
####################### 
02.
@echo off 
03.
 
04.
reg query HKEY_LOCAL_MACHINE\software\Test\Test2 /v path /s C:\test 
05.
if not errorlevel 1 goto exist 
06.
 
07.
 
08.
 
09.
:error 
10.
echo regkey fehlerhaft 
11.
pause 
12.
exit 
13.
 
14.
:exist 
15.
echo regkey vorhanden 
16.
pause 
17.
exit 
18.
#######################
Ich möchte den Wert "C:\test" auslesen, wenn dieser vorhanden ist dann soll er halt zu "exist" springen, wenn nicht dann halt zu "error".


Würde mich über jede hilfe freuen..

Michi
Mitglied: 60730
06.02.2009 um 14:46 Uhr
Zitat von Michi90:
Hallo,
Servus zurück.

bin neu hier und hab eine frage, hab auch schon das forum einwenig
durch geblättert aber keine antwort gefunden...

Endlich mal wieder jemand, mit guter Kinderstube

Unzwar möchte ich einen Wert aus einer zeichenfolge auslesen.
Krieg das iwie nicht hin

So hatte ich mir das gedacht, aber funktioniert nicht...
..dann mach es z.B so herum:
01.
rem @echo off - zum testen 
02.
reg query HKLM\software\Test\Test2 /v path |find "C:\test" 
03.
if errorlevel 0 goto exist 
04.
 
05.
:error 
06.
echo regkey fehlerhaft 
07.
pause 
08.
exit 
09.
  
10.
:exist 
11.
echo regkey vorhanden 
12.
pause
edit
wobei es "so" natürlich eleganter wäre
01.
rem @echo off - zum testen 
02.
reg query HKLM\software\Test\Test2 
03.
if errorlevel 0 goto exist 
04.
 
05.
:error 
06.
echo regkey fehlerhaft 
07.
pause 
08.
exit 
09.
  
10.
:exist 
11.
echo regkey vorhanden 
12.
@reg query HKLM\software\Test\Test2 /v path |find "C:\test" 
13.
@if errorlevel 0 echo und hat auch den richtigen Inhalt 
14.
pause
/edit

Gruß
Bitte warten ..
Mitglied: Michi90
06.02.2009 um 15:48 Uhr
Hey,
Großes danke erstmal
aber das funktioniert nicht wirklich...
wenn ich jetzt in meiner regestrie schreiben z.b.:
C:\test8
würde er mir trotzdem sagen " und hat den richtigen Inhalt " obwohl der ja nicht "test" sondern "test8" heißt.
.....

oder kann man das auich vll mit "if exist reg" oder irgend wie sowas machen ??
Bin für andere Ideen gern offen
Bitte warten ..
Mitglied: 60730
06.02.2009 um 15:56 Uhr
Zitat von Michi90:
Hey,
Großes danke erstmal
aber das funktioniert nicht wirklich...
wenn ich jetzt in meiner regestrie schreiben z.b.:
C:\test8
würde er mir trotzdem sagen " und hat den richtigen Inhalt
" obwohl der ja nicht "test" sondern "test8" heißt.

Dann erweiter das um ein "\" in Zeile 12.
01.
rem @echo off - zum testen 
02.
reg query HKLM\software\Test\Test2 
03.
if errorlevel 0 goto exist 
04.
 
05.
:error 
06.
echo regkey fehlerhaft 
07.
pause 
08.
exit 
09.
  
10.
:exist 
11.
echo regkey vorhanden 
12.
@reg query HKLM\software\Test\Test2 /v path |find "C:\test\" 
13.
@if errorlevel 0 echo und hat auch den richtigen Inhalt 
14.
pause
..obwohl dann wieder alle unterordner von "c:\test" auch gefunden würden.

Aber ich denke, du machst dir da Gedanken, die du nicht wirklich brauchst.
HLKM das liegt doch in Admin Hand

Und wenn es wirklich "so" wichtig sein sollte - mach das ganze einmalig mit einem System, das Garantiert deinen Wert hat.
@reg query HKLM\software\Test\Test2 /v path >\\server\freigabe\pfad_richtig.ini
und dann ins Script rein:
01.
@reg query HKLM\software\Test\Test2 /v path >%temp%\regkey.tmp 
02.
@FC %temp%\regkey.tmp \\server\freigabe\pfad_richtig.ini 
03.
@if %errorlevel%==0 echo Einmal regkey mit alles komplett und RISCHDISCH
Gruß
Bitte warten ..
Mitglied: 60730
06.02.2009 um 16:18 Uhr
Zitat von Michi90:
Hey
nochmal wegen dem wert aus der reg. auslesen ..

also ich glaub du hast mich da bisschen falsch verstanden....
das "C:\test\ ist ein wert in einer zeichenfolge bei der win reg.
Ja - dachte ich mir

und mein programm soll nur weiter laufen wenn in dieser zeichenfolge steht z.b. "c:\test"
sobald da iwas anderes steht oder erst garnicht vorhanden ist soll das programm abbrechen...

weißt wie ?
Ich weiß alles

Und genau das macht es ja - aber da da nichts ist, wohin es weiterlaufen soll, macht es das auch nicht

Hast du denn wirklich mal probiert, was ich geschrieben habe?
Ich habe fast genau das gleiche vorher durchexerziert, jedoch mit einem anderen Schlüssel und das ist bei mir gelaufen.

Gruß


edit:
naja - ich mach sowas mit einer anderen Software, die VBS ähnlich ist - was daran nun kompliziert ist?
/edit
Bitte warten ..
Mitglied: Michi90
06.02.2009 um 16:19 Uhr
ja ok .. aber geht das nicht ? mit einer einfachen abfrage wenn der wert ... ist dann goto bla wenn nich goto exit sowas ungefähr ?
Bitte warten ..
Mitglied: 60730
06.02.2009 um 16:23 Uhr
? bisschen zu kompliziert?

weniger ist mehr - aber in dem Fall auch unsensibler.
2-3 Zeiler:

01.
reg query HKLM\software\Test\Test2 /v path |find "C:\test\" 
02.
if not errorlevel 0 goto end 
03.
echo und hier wäre dann der fehlende Teil 
04.
:end

..und das "mag" ich nicht, denn wenn es unter W2k läuft, wird reg.exe nicht gefunden, ergo auch Errorlevel <>0, obwohl evtl. der Key vorhanden wäre.

Ich habs da lieber eindeutiger, aber funktionieren tutet es.

gruß
Bitte warten ..
Mitglied: Michi90
06.02.2009 um 16:25 Uhr
also wenn das letzte ausprobiere, dann kann ich den wert aus der reg. ändern und er würde mir immernoch sagen das das programm funktioniert....


aber ich glaub ich werd wohl die andere Methode mit den vergleichen "FC" von dir nehmen...

achso wenn er mir was in einer text datei kopier (>C:\test.txt) dann gibt er mit immer noch die versions nummer an ... kann man das auch unterdrücken ? bestimmt wa ;)
Bitte warten ..
Mitglied: 60730
06.02.2009 um 17:17 Uhr
Nochmal ganz langsam....

Mal als Beispiel einen Wert, den jeder auf einem deutschen System nachvollziehen kann....

01.
reg query HKLM\software\Microsoft\Windows\CurrentVersion /v ProgramFilesDir |find /i "C:\programme" 
02.
if %errorlevel%==0 Echo naja war ja klar. 
03.
reg query HKLM\software\Microsoft\Windows\CurrentVersion /v ProgramFilesDir |find /i "x:\programme" 
04.
if %errorlevel%==1 Echo naja war ja auch klar.

gruß
Bitte warten ..
Mitglied: Michi90
06.02.2009 um 17:59 Uhr
mh ok so ganz klappt das iwie noch nicht...
aber ich hab das so gemacht wie oben mit vergleich von 2 daten "FC" das klappt bestens.
aber kannst du mir vll noch sagen wie man das ausschaltet das er nicht die cmd version mit kopiert ?
Bitte warten ..
Mitglied: 60730
06.02.2009 um 18:33 Uhr
Servus,

"FC" war nur ein Schnellschuss - mit Reg Compare geht es aber auch.
Ps: Es wird nicht die version von cmd mitgeschrieben, sondern die Version von reg.exe

Und nein - ich hab jetzt "frei" und damit auch MS frei - mein Mac kennt die Befehle nicht

Gruß

Reg "befehl" /?
Bitte warten ..
Mitglied: Michi90
06.02.2009 um 18:48 Uhr
alles klar...
Dank dir
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Windows 10
REG Query HKLM (3)

Frage von AtoAto zum Thema Windows 10 ...

VB for Applications
gelöst VBA: Wert von einer Website (pdf-Dokument) auslesen und in Excel kopieren (16)

Frage von Stern123 zum Thema VB for Applications ...

Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

Windows 7
gelöst Sind euch verstärkte Probleme bei Windows 7 Updates aufgefallen? (4)

Frage von RadioHam zum Thema Windows 7 ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Empfehlung günstiges ADSL2+ nur Modem (10)

Frage von TimMayer zum Thema Router & Routing ...

Server-Hardware
Lenovo Server System X 3650 M5 Festplatten (9)

Frage von Hendrik2586 zum Thema Server-Hardware ...