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

Umgebungsvariable überprüfen

Frage Entwicklung Batch & Shell

Mitglied: cookie

cookie (Level 1) - Jetzt verbinden

24.05.2006, aktualisiert 16:15 Uhr, 10179 Aufrufe, 7 Kommentare

Hallo Zusammen.

Habe eine Frage. Und zwar möchte ich per Batch eine umgebungsvariable abfragen. wenn der wert stimmt soll nichts unternommen werden, ansonsten ändere ich sie mit setx. Das ändern funktioniert einwandfrei, leider komme ich auf keine Lösung.
Könnt ihr mir da helfen?

Vielen dank.

Gruss cookie
Mitglied: Metzger-MCP
24.05.2006 um 13:36 Uhr
%homedrive% ist eine Umgebungsvariable. meistens, in einem Standart System ist das C:.

Mit

if %homedrive% equ C: dir

wird verglichen ob die Variable den exacten Wert C: hat. Wenn das so ist, wird DIR ausgeführt sonst nicht.

Mit freundlichen Grüßen Metzger
Bitte warten ..
Mitglied: The-Warlord
24.05.2006 um 13:47 Uhr
So???

@echo off
if %HOMEDRIVE%==H: (
set HOMEDRIVE=E:
echo Variable HOMEDRIVE wurde auf %HOMEDRIVE% geändert) ELSE (
echo "keine Änderung")
Bitte warten ..
Mitglied: cookie
24.05.2006 um 14:39 Uhr
Danke, hat mir schon viel weitergeolfen. Nun stellt sich aber noch folgendes Problem, kann ich auch irgendwie abfragen ob die variable überhaupt existirert? denn, wenn sie nicht existiert bekomm ich einen Fehler zurück und der Script läuft nicht sauber durch. danke
Bitte warten ..
Mitglied: Metzger-MCP
24.05.2006 um 14:57 Uhr
So???

ja/nein


@echo off

Bis hier OK

if %HOMEDRIVE%==H: (

== geht dort nicht ! dafür gibt es den Begriff equ der Bedeutet gleich.
if %HOMEDRIVE% equ H: wenn es H: ist, dann ...
if not %HOMEDRIVE% equ H:
wenn es nicht H: ist , dann

set HOMEDRIVE=E:
echo Variable HOMEDRIVE wurde auf
%HOMEDRIVE% geändert) ELSE (
echo "keine Änderung")

Der Trift zu Zweig ist ok und der Trift nicht zu auch.

Es stellt sich natürlich die Frage, wie du Sie anwenden willst.

Mit freundlichen Grüßen Metzger

P.s. für ein kongrete Lösung, solltest du mal posten was genau abgefragt wird und was genau dann passieren soll wenn was eintritt. Du kannst ja die Werte oder Variablen a,b,c,d,e nennen, so das du später nur die richtigen Werte einsetzen mußt.
Bitte warten ..
Mitglied: Metzger-MCP
24.05.2006 um 15:05 Uhr
Da gibt es den Wert Errorlevel.
Aber da muß ich auch erst die Windows Hilfe aufsuchen.

Mit freundlichen Grüßen Metzger
Bitte warten ..
Mitglied: The-Warlord
24.05.2006 um 15:12 Uhr
COOL! Danke fürs verbessern. "==" ist ein mathematischer Operator oder?
equ = equal = gleich vergleicht wahrscheinlich Zeichenketten
Bitte warten ..
Mitglied: Metzger-MCP
24.05.2006 um 16:15 Uhr
habe mal nachgeschaut bei mir habe ich da eine Abbruchlösung erstellen können .

If DEFINED variable befehl.

Beispiel einer Batchdatei anhand der Variable TMP

@Echo off

If defined tmp goto 1

Echo.
Echo Variable ist nicht Vorhanden
Echo.

goto ende

:1

If not %tmp% equ C:\Temp goto 2

goto 3

:2
Echo tmp ist nicht C:\temp sondern %tmp%
set tmp=C:\Temp
echo Die Tempvariable ist gerade auf %tmp% gesetzt worden
goto ende

:3
Echo sie war schon auf %tmp% gesetzt gewesen

:ende
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows Server
gelöst Änderung Umgebungsvariable per GPO (4)

Frage von Coreknabe zum Thema Windows Server ...

Entwicklung
gelöst Dateiname auf bestimme Zeichenfolge überprüfen? (8)

Frage von matzetto zum Thema Entwicklung ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

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

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...