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

Frage Entwicklung Batch & Shell

GELÖST

Existenz von Variablen in Batchdateien abfragen

Mitglied: Enriqe

Enriqe (Level 1) - Jetzt verbinden

09.06.2011 um 11:02 Uhr, 3803 Aufrufe, 11 Kommentare

Hallo Leute,

ich schlage mich wieder einmal mit einem lästigen Problem herum, von dem ich mir nicht vorstellen kann, dass es schwer zu lösen ist. Ich finde die Lösung aber leider selbst nicht heraus.
Ich werde mal schildern:

Seit einiger Zeit setzte ich für alle unsere User eine Variable, um damit deren Gruppenzugehörigkeit im Anmelescript (Batchdatei) zu ermitteln. Bei den Usern / PCs bei denen die Variable vorhanden ist, funktioniert das auch.
Um jetzt herauszufinden bei welchen PCs / Usern die Variable noch nicht gesetzt ist, habe ich eine Meldung "Meldung.vbs" programmiert, welche aufgehen soll wenn die Variale nicht vorhanden ist. Somit könnten sich diese User bei mir melden und ich könnte gezielt die restlichen Variablen setzten. Das würde mir den Weg zu ca. 100 PCs ersparen.
Jetzt zum Problem:
Ich kann nicht herausfinden wie ich in meiner batchdatei die Existenz der Variablen abfragen kann.
Mein letzter Versuch sieht so aus (s. unten), wobei "Grp" der NAME der Variablen ist und nicht deren Wert. Ohne "" und %% habe ich auch schon probiert aber unabhängig davon ob die Variable existiert oder nicht, Es erscheint immer die Meldung.
Ich denke aus diesen Sciptauszug ist erkennbar, was ich erreichen möchte.
Ich bedanke mich im Vorau schon einmal für alle hoffentlich eintreffenden Lsungsansätze.
Gruß
Enriqe


if exist "%Grp%" goto Alle

call Meldung.vbs
goto Alle

:Alle
Mitglied: Tommy70
09.06.2011 um 11:07 Uhr
Hallo,

was ist, wenn du einfach prüfst ob in deiner Variable etwas drinnen steht? Ist sie Leer dann soll die Meldung kommen.
Bitte warten ..
Mitglied: HGGIGO
09.06.2011 um 11:18 Uhr
Syntax:

IF DEFINED Variable Befehl

bsp:

"if defined grp echo ja"

sollte so funzen!
Bitte warten ..
Mitglied: Skyemugen
09.06.2011 um 11:56 Uhr
Aloha,

wobei hier von der Funktionalität wohl genau das Gegenstück
if not defined grp goto :Alle
eingesetzt werden sollte, da er ja eher wissen will, welche Variable nicht gesetzt ist.

Um jetzt herauszufinden bei welchen PCs / Usern die Variable noch nicht gesetzt ist,

greetz André

P.S.: Was bitte ist funzen?
Bitte warten ..
Mitglied: HGGIGO
09.06.2011 um 12:16 Uhr
funktionieren...


goto mag i net! Is keine schöne Art zu batchen, zumindest wenns mal länger wird!

if defined grp (if errorlevel 0 (exit) else (call msg.vbs))

oder so in der art.
Bitte warten ..
Mitglied: Enriqe
09.06.2011 um 12:49 Uhr
Hallo Tommy,

vielen Dank für Deine schnelle Antwort. Ich habe mich für den Vorschlag von HGGIGO entschieden, da das genau das war was ich gesucht habe. Aber trotzdem einmal interessehalber: Wenn die Variable nicht vorhanden ist und ich prüfe ob was drin steht,
bekomme ich einen Fehler zurück, den ich auswerten kann? Vorher war es so, dass die Ausführung des Scriptes bei all denen abgebrochen wurde, welche die Variable nicht hatten. Deswegen die Abfrage nach der Existenz der Variablen. Bei allen die die Variable hatten, wurde sie auch korrekt ausgewertet. Also, wenn eine Variable ohne Wert einer nicht vorhandenen Variable gleichkäme, dann wäre auch Dein Vorschlag interessant. Kannst Du mir das beantworten???
Ich danke Dir

Gruß
Enriqe
Bitte warten ..
Mitglied: Enriqe
09.06.2011 um 12:55 Uhr
Hallo HGGIGO

vielen Dank - es geht
Das war genau das, was ich gesucht habe.
Volltreffer

Gruß
Enriqe
Bitte warten ..
Mitglied: Skyemugen
09.06.2011 um 13:01 Uhr
Aloha,

Zitat von Enriqe:
Also, wenn eine Variable ohne Wert einer nicht vorhandenen Variable gleichkäme

dann wäre
01.
set "datei=" 
02.
if "%grp%"=="%datei%" echo OK
E:\Skripte>set "datei=" 
 
E:\Skripte>if "" == "" echo OK 
OK

greetz André
Bitte warten ..
Mitglied: Skyemugen
09.06.2011 um 13:02 Uhr
Zitat von HGGIGO:
goto mag i net! Is keine schöne Art zu batchen, zumindest wenns mal länger wird!

> if defined grp (if errorlevel 0 (exit) else (call msg.vbs))

Wenn goto keine schöne Art ist, dann möchte ich auch lieber exit /b oder goto :eof statt exit verwenden

greetz André
Bitte warten ..
Mitglied: HGGIGO
09.06.2011 um 13:13 Uhr
Du hast ja recht Skyemugen



Enriqe setzt du die Frage auf gelöst! Bitte
Bitte warten ..
Mitglied: bastla
09.06.2011 um 14:20 Uhr
@HGGIGO
Keine Frage der "Schönheit":
if errorlevel 0
verhindert in Deinem Beispiel konsequent (solange kein Errorlevel < 0 vorliegt) das Ausführen von "msg.vbs" (für das übrigens ein "call" unnötig wäre) ...

Grüße
bastla
Bitte warten ..
Mitglied: Enriqe
14.06.2011 um 12:46 Uhr
mach ich,

sorry vergessen

Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Abfrage in einer Batchdatei ?
gelöst Frage von Emily33Batch & Shell3 Kommentare

Hallo alle, ich habe mir eine Diskpart Batchdatei erstellt um öfters USB-Sticks bootfähig zu machen. An einem Punkt komme ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Batch & Shell
Ausgelagerte Variablen in Batchdatei
gelöst Frage von mp-homeBatch & Shell6 Kommentare

Hallo Forum, ich versuche eine Batch zu erstellen, die in mehreren (Windows) Umgebungen laufen soll. Dazu möchte ich die ...

Batch & Shell
Batchdatei: Variablen-Wertezuweisung
gelöst Frage von donnyS73lbBatch & Shell2 Kommentare

Hallole, eine Anfängerfrage: Was mache ich hier falsch? echo %variable1% liefert das richtige Ergebnis, denn variable1 hat einen gültigen ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 3 TagenSicherheit12 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall10 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS9 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...