mit BATCH prüfen auf Systemvariable

Von: , Frage gestellt am Di, 28. Sep 2004

Hallo, ich habe hier das Problem, dass ich auf eine gesetzte Systemvariable prüfen muss. Ist diese Systemvariable (servername) gesetzt verwende ich diese Variable in meiner batch als lokale variale servername. Solle diese Systemvariable aber nicht bestehen nehme ich die Systemvariable compuername und will ein "set servername=%computername%" ausführen.
Aber ich bekomme das irgendwie überhaupt ned hin! Habs auch schon mit Errorlevel-abfrage versucht aber ohne Erfolg.
Hier meine Versuche:
REM if ERRORLEVEL == 1 set servername=%computername%
REM if [%servername:~0,1%] == [%] [SET servername=%computername%]
REM if not %servername%
REM if [%servername%] == [] [set %servername% = %computername%]

Freue mich über jede Idee.
THX
Chris

2 Antworten zu dieser Frage

  1. Antwort von nach 13 Minuten 0 hilfreich
    Re: mit BATCH prüfen auf Systemvariable

    Hi,
    hat sich schon selbst erledigt; hab wohl gestern zu lange rumprobiert.
    Also für alle die es interessiert wie es bei mir funktioniert:

    set servername
    if ERRORLEVEL == 1 set servername=%computername%

    Erklärung: wenn die Systemvariable servername nicht gesetzt ist, gibt "set servername" einen Errorlevel 1 zurücke. Demnach frage ich einfach nach ERRORLEVEL == 1 ab.

    • Antwort von nach 52 Minuten 0 hilfreich
      Re^2: Hä?

      Mahlzeit,

      deine Lösung in Ehren, aber warum einfach, wenn es auch kompliziert geht? Normalerweise prüfst du das doch direkt mit IF:

      set Computername=Mein_Server
      echo Servername=%servername%
      if "%servername%" == "" set servername=%computername%
      echo Servername=%servername%
      

      Gruß

      Sancho

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!