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

Per batch überprüfen ob regestry eintrag vorhanden oder nicht!

Mitglied: 94233

94233 (Level 1)

05.10.2010, aktualisiert 12:06 Uhr, 10485 Aufrufe, 8 Kommentare

hi leute ich habe folgendes Problem
ich hab hinbekommen mit einen einfach reg add befehl einen eintrag in einen bestimmten schlüssel zu erstellen
nun soll ich aber mit einem neuen batch überprüfen ob der eintrag vorhanden ist oder nicht.

So sieht meine bat datei aus:
01.
@echo OFF 
02.
echo Es wird nun ueberprueft ob IRPStackSize schon erstellt ist... 
03.
echo Sollte Es nocht nicht erstellt sein koennen sie dies hier noch machen. 
04.
pause 
05.
set IRPStackSizeTest=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters /v IRPStackSize /d 50 /t REG_DWORD 
06.
for /F "delims=\ tokens=1" %%f in ('reg query "%IRPStackSizeTest%"') do ( 
07.
            set IRPSTackSizenr=%%f  
08.
           CALL :Anzeigen 
09.
10.
 
11.
  
12.
:Anzeigen 
13.
    reg query "%IRPStackSizeTest%\%IRPSTackSizenr%" /v Vorhanden | FIND "0b1">NUL 
14.
    if "%errorlevel%"=="0" ( 
15.
            set vorhanden 
16.
            echo IRPStackSize ist bereits vorhanden!!! 
17.
        ) ELSE ( 
18.
            set nicht vorhanden 
19.
	    echo IRPStackSize ist noch nicht vorhanden 
20.
            echo Die Erstellung von IRPStackSize wird gestartet..... 
21.
	    pause 
22.
	    reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters /v IRPStackSize /d 50 /t REG_DWORD 
23.
	    echo IRPStackSize wurde erfolgreich erstellt mit dem Wert 50! 
24.
	    echo Programm wird nun beendet 
25.
	    pause  
26.
27.
  
28.
 
29.
exit
des weiteren bekomm ich eine fehler meldung wen ich ausführe u zwar:
01.
Fehler: Der angegebene Registrierungsschlüssel oder Wert konnte nicht gefunden werden. 
02.
Fehler: Der angegebene Registrierungsschlüssel oder Wert konnte nicht gefunden werden. 
03.
 
04.
Die Umgebungsvariable "nicht" ist nicht definiert.
danach geht er in die schleife u zwar in den else zweig was ja richtig ist da er ja nichts gefunden hat
doch ich frag mich wiso er den schlüssel nicht annimmt und ich weis nicht wiso er sagt das ich den Umgebungsvariable "nicht" nicht definiert habe.
Ich benötige ja die Variable nicht oder?

Ich hoffe jemand kann mir auf die sprünge helfen bin noch recht neu in der Batch programmierung.

^^trotzdem schon mal vielen dank im voraus
Mitglied: em-pie
05.10.2010 um 12:02 Uhr
Moin,

hast du einfach mal nen
01.
echo %IRPStackSize%
gemacht um zu sehen, was in deiner Variable überhaupt drin steht?
Bitte warten ..
Mitglied: Dani
05.10.2010 um 12:16 Uhr
Moin,
set IRPStackSizeTest=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters /v IRPStackSize /d 50 /t REG_DWORD
Das ist schon mal Mist! Wenn du die Hilfe von "reg query /?" anschaust, wirst du feststellen, dass HKEY_LOCAL_MACHINE mit HKLM angekürtzt wird. Somit sollte Fehler 1,2 schon mal verschwunden sein.

Ansonsten ist der Aufbau der Batch für mich noch nicht ganz verständlich...
Update 12:28 Uhr

Ich habe mal was gebastelt:
01.
@echo off 
02.
 
03.
set value= 
04.
for /f "tokens=3 delims= " %%i in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters /v IRPStackSize /t REG_DWORD ^| findstr /i "REG_DWORD" ') do set value=%%i 
05.
 
06.
if "%value%" EQU "" ( 
07.
	echo IRPStackSize ist noch nicht vorhanden 
08.
	echo Die Erstellung von IRPStackSize wird gestartet... 
09.
	pause 
10.
 
11.
	reg add HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters /v IRPStackSize /d 50 /t REG_DWORD 
12.
 
13.
	echo IRPStackSize wurde erfolgreich erstellt mit dem Wert 50! 
14.
	echo Programm wird nun beendet. 
15.
 
16.
	pause 
17.
 
18.
) else ( 
19.
	echo IRPStackSize ist bereits vorhanden! 
20.
	echo Wert: %value% 
21.
)
Diese kl. Batchdatei prüft ob der Registrykey "IRPStackSize" vorhanden ist oder nicht. Wenn er vorhanden ist, wird nichts gemacht anderen Falls wird der Key erstellt.
Erfüllt das deine Aufgabe oder habe ich was falsch gelesen?!


Grüße,
Dani
Bitte warten ..
Mitglied: 94233
05.10.2010 um 13:11 Uhr
hnnn danke das was du da gebastelst hast ist schon recht hilfreich
hab bloss die frage wen man das was du da geschrieben hast verwendet passiert nix
fehlt da noch irgend was?

also das Programm soll lediglich in den angegebenen pfad nach dem eintrag suchen u sagen ob er vorhanden ist oder nicht u wen nicht dann die erstellung einleiten
Bitte warten ..
Mitglied: Dani
05.10.2010 um 13:27 Uhr
Ich habe es unter Windows 7 x64 Professional getestet.... da scheint es zu funktionieren.
Hast du meine Zeilen in eine Batchdatei kopiert, gespeichert und ausgeführt oder direkt in die Kommandozeile kopiert und ausgeführt?!


Grüße,
Dani
Bitte warten ..
Mitglied: 94233
05.10.2010 um 13:32 Uhr
ich habs in einen extra bat datei kopiert abgespeichert u ausprobiert
o.o hnnn ka ob es am bs liegt verwende hier of den rechner win xp home
Bitte warten ..
Mitglied: Dani
05.10.2010 um 15:06 Uhr
Sorry, ich habe hier grad kein virtuelles WindowsXP zur Hand. Könnte jemand anders (z.B. Biber oder bastla) das Ganze bei sich testen.
Irrtiert mich grad schon ein bisschen....


Grüße,
Dani
Bitte warten ..
Mitglied: 94233
05.10.2010 um 15:22 Uhr
o.o ich hab nun ein anderes Problem seite dem ich dein batch programm ausprobiert hab spinnen meine ganzen bats o.o
so bald sie etwas tun sollen bleiben sie stecken und führen im hintergrund immer wieder die cmd.exe aus u das so lange bis ich das fenster schließe
beim schließen schreibt es dann C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^ je nach dem wie lange ich das fenster offen gelasen hab
auch wen ich ne neue bat schreibe passiert immer wieder das hab auch meinen rechner neu gestartet keine ahnung was mit dem los ist


-.- hab heraus gefunden woran es liegt u zwar war es die bat datei die mit deinen code gefüttert war
das hat sämtliche bat datein zum still stand gebracht
Bitte warten ..
Mitglied: bastla
07.10.2010 um 00:21 Uhr
Hallo Dani!

Sorry für die Verspätung (war irgendwie zwischendurch auf der Strecke geblieben) ...

Die folgende Version gewinnt zwar sicher keinen Schönheitspreis, sollte aber funktionieren:
01.
@echo off & setlocal 
02.
 
03.
set "value=" 
04.
for /f "tokens=3" %%i in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters /v IRPStackSize 2^>nul ^| findstr /i "REG_DWORD" ') do set "value=%%i" 
05.
 
06.
if "%value%" EQU "" ( 
07.
    echo IRPStackSize ist noch nicht vorhanden 
08.
    echo Die Erstellung von IRPStackSize wird gestartet... 
09.
    pause 
10.
 
11.
    reg add HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters /v IRPStackSize /d 50 /t REG_DWORD 
12.
 
13.
    echo IRPStackSize wurde erfolgreich erstellt mit dem Wert 50! 
14.
    echo Programm wird nun beendet. 
15.
 
16.
    pause 
17.
 
18.
) else ( 
19.
    echo IRPStackSize ist bereits vorhanden! 
20.
    echo Wert: %value% 
21.
)
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch um Regestry Einträge zu finden und zu löschen

gelöst Frage von zeroblue2005Batch & Shell15 Kommentare

Hallo Zusammen, ich suche eine Möglichkeit einen Standardwert in der Regestry zu finden und dann diese alle zu löschen ...

Batch & Shell

Batch-Datei soll überprüfen ob ein Verzeichnis vorhanden ist

gelöst Frage von synapsenstauBatch & Shell7 Kommentare

Moin, wie bringe ich bitte einer Batch-Datei bei, das sie "schaut" ob ein Verzeichnis vorhanden ist und wenn nicht ...

Windows Installation

Regestry eintrag bei Windows System Image Manager

Frage von dakoerryWindows Installation10 Kommentare

Hallo kann mir einer helfen wo kann man bei Windows System Image Manager einen Regestry ein trag vornehmen. Ich ...

Batch & Shell

Vor dem Verzeichniss erstellen überprüfen ob Ordner vorhanden sind

Frage von TommylikBatch & Shell12 Kommentare

Hallo, Ich habe mir folgendes geschrieben: Funktioniert ohne Probleme. Es wird immer das Laufwerk D genutzt. Könnte mir einer ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 23 StundenWindows 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 1 TagHumor (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
Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

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 ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...

Windows Netzwerk
Backup über WAN
Frage von petereWindows Netzwerk11 Kommentare

Hallo, ich muss aus einem entfernten WAN (synchrone 1Gbit) Daten sichern. Dabei handelt es sich sowohl um wenige große ...