Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

If ERRORLEVEL Registry Abfrage

Frage Entwicklung Batch & Shell

Mitglied: Pinkywesen

Pinkywesen (Level 1) - Jetzt verbinden

13.05.2010 um 13:25 Uhr, 5026 Aufrufe, 5 Kommentare

Ich habe ein Problem mit einer "if ERRORLEVEL" Abfrage

Guten Tag liebe Administrator.de Mitglieder,
Ich hab folgendes Batch-Problem. Und zwar will ich mehre Registrierungs Werte abfragen und in einer Text Datei speichern. Aber wenn diese nicht existieren soll das nicht vermerkt werden einfach zum nächsten springen. Hier meine Batch Datei:

01.
if ERRORLEVEL 1 goto next1 
02.
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "ProductInformation" >> product.txt  
03.
:next1 
04.
...
So da dieser Registrierungs Wert immer hoffe ich immer existiert ist das ja kein Problem. Aber wenn ein anderer Registry-Wert mal nicht existiert funktioniert mein Script nicht. Die product.txt sieht dann immer folgendermaßen aus:

01.
! REG.EXE VERSION 3.0 
02.
 
03.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
Wie kann ich dies verhindern ?

Danke im Vorraus für alle Poster !
Mitglied: LotPings
13.05.2010 um 14:39 Uhr
Moin,

du kannst einen errorlevel nicht im Voraus abfragen, das ist nicht vbscript.
setz den Reg Query nochmal mit Redirection auf Nul davor.

Gruß
LotPings

@bastla, ja stand schon von Anfang an da
Bitte warten ..
Mitglied: bastla
13.05.2010 um 15:07 Uhr
Hallo Pinkywesen!

Wie LotPings schon angemerkt hat, ist die Abfrage vorweg eigentlich nicht möglich - Du könntest es aber so (mäßig elegant) versuchen:
01.
set q="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "ProductInformation" 
02.
reg query %q%>nul 2>&1 && reg query %q%>>product.txt
Im Zweifelsfall würde ich aber eher eine "for /f"-Schleife herumbauen und dann auch nur die interessierende(n) Zeile(n) ausgeben ...

Grüße
bastla

[Edit] @LotPings: Stand Deine zweite Zeile auch vorher schon da? Wenn ja, hat mich der Winterschlaf wohl doch nochmal eingeholt ... [/Edit]
Bitte warten ..
Mitglied: Pinkywesen
14.05.2010 um 01:28 Uhr
Zitat von bastla:
Hallo Pinkywesen!

Wie LotPings schon angemerkt hat, ist die Abfrage vorweg eigentlich nicht möglich - Du könntest es
aber so (mäßig elegant) versuchen:
01.
set q="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "ProductInformation" 
02.
> reg query %q%>nul 2>&1 && reg query %q%>>product.txt 
03.
> 
Im Zweifelsfall würde ich aber eher eine "for /f"-Schleife herumbauen und dann auch nur die interessierende(n)
Zeile(n) ausgeben ...

Grüße
bastla

[Edit] @LotPings: Stand Deine zweite Zeile auch vorher schon da? Wenn ja, hat mich der Winterschlaf wohl doch nochmal eingeholt
... [/Edit]


Danke erstmal für deine Antwort,
aber dein Script funktioniert bei mir gar nicht. Es gibt nichts aus. Kannst du das mit der "for" Schleife bitter näher erläutern ?
Bitte warten ..
Mitglied: bastla
14.05.2010 um 11:53 Uhr
Hallo Pinkywesen!
... dein Script funktioniert bei mir gar nicht. Es gibt nichts aus.
Eigentlich hätte ich angenommen, dass genau das erwünscht wäre: Wenn der nicht-existente Wert von "ProductInformation" ausgelesen werden soll, wird der Datei "product.txt" nichts hinzugefügt; wenn Du "ProductInformation" durch zB "CSDVersion" ersetzt, sollte auch ein Eintrag in der Datei erzeugt werden.
Mit einer "for"-Schleife (einzugeben direkt in die Kommandozeile, bzw in einem Batch mit %%i und %%j zu schreiben) sähe das dann so aus:
for /f "skip=4 tokens=2*" %i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CSDVersion" 2^>nul') do @echo %j
erzeugt bei mir (XP SP3) die folgende Ausgabe:
Service Pack 3
Wenn anstelle von "CSDVersion" der (nicht vorhandene) Wert von "CDVersion" abgefragt würde, wäre das Ergebnis einfach gar keine Ausgabe (also auch ohne Fehlermeldung); genauso, wie wenn etwa anstelle von "CurrentVersion" nur "CurrVersion" verwendet würde ...

Grüße
bastla
Bitte warten ..
Mitglied: LotPings
14.05.2010 um 12:00 Uhr
Moin,
Bastla war schneller, ich poste meine ähnliche Antwort trotzdem.

Zitat von Pinkywesen:
aber dein Script funktioniert bei mir gar nicht. Es gibt nichts aus.
Das stimmt nicht, es funkltioniert.
Und das es bei nicht vorhandenem Value ProductInformation NICHTS ausgibt, war doch genau deine Frage!
Bei meinen WinXP Pro und Win7Ultimate64Bit kommt da auch nichts.

Kannst du das mit der "for" Schleife bitter näher erläutern ?
Ich kann das auch süß oder herzhaft erklären,
aber wenn die Abfrage ein leeres Ergebnis erzeugt hilft auch die for schleife nicht.

Du kannst Produkt Informationen über den Value
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
erhalten , hier wäre eine for Schleife angebracht um mit findstr nach DisplaName und DisplayVersiom zu filtern.

oder auch mit WMIC über mit Windows Installer installierte Software
wmic product get Name, Version
erhalten.

Gruß
LotPings
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Abfrage ERRORLEVEL springt aus der FOR Schleife (8)

Frage von Galindiesel zum Thema Batch & Shell ...

Windows Server
gelöst SCCM2012 Abfrage eines Registry Wertes (5)

Frage von busteron zum Thema Windows Server ...

Batch & Shell
gelöst Win10 ändert den Errorlevel? ( Batch ) (12)

Frage von clragon zum Thema Batch & Shell ...

Windows Systemdateien
Registry Hive offline einer vorhandenen Registry hinzufügen (7)

Frage von HrwSiggi zum Thema Windows Systemdateien ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(6)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

Monitoring
Netzwerk-Monitoring Software (16)

Frage von Ghost108 zum Thema Monitoring ...

Windows 10
Windows 10 Ordnerfreigabe (15)

Frage von Xaero1982 zum Thema Windows 10 ...