Umgebungsvariable überprüfen

Mitglied: cookie

cookie (Level 1) - Jetzt verbinden

24.05.2006, aktualisiert 16:15 Uhr, 11620 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.

Mfg 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 :) face-smile


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

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

MFG 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 :) face-smile.

If DEFINED variable befehl.

Beispiel einer Batchdatei anhand der Variable TMP :) face-smile

@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 ..
Heiß diskutierte Inhalte
Zusammenarbeit
Klimaschutz
NebellichtVor 1 TagTippZusammenarbeit54 Kommentare

Hallo friends, (friends in Anlehnung an die vielen Fs in dem englischen von FFF: fridays for future. Übrigens am 19.03.2021 gibts wieder einen globalen ...

Notebook & Zubehör
Tipp für festgefressene Scharniere bei Lenovo V120 Notebook?
gelöst LochkartenstanzerVor 1 TagFrageNotebook & Zubehör20 Kommentare

Moin Kollegen, Ich habe hier ein Lenovo V120 mit einem laut Internet üblichen Problem von "festgefressenen" Scharnieren. Ich könnte jetzt aufwendig das Notebook zerlegen ...

Microsoft Office
Microsoft365 und Outlook verbinden
ratzekahl1Vor 1 TagFrageMicrosoft Office31 Kommentare

Guten Morgen zusammen, ich habe einige Probleme / Fragen. Ich habe Office 365 auf den ersten Rechnern installiert. Admin angelegt, Benutzer usw. Da ich ...

Viren und Trojaner
Ryuk Ransomware Warnzeichen
gelöst SchlemihlVor 1 TagFrageViren und Trojaner9 Kommentare

Guten Abend, nachdem ich hier und hier erfahren habe, wie sich die Ransomware Ryuk verhält, musste ich feststellen, dass unser kleines Netzwerk für eine ...

Internet
Sichere Verbindung von zu Hause zu einem Firmenpc
haiflosseVor 1 TagFrageInternet6 Kommentare

Hallo! Ich suche eine Lösung mit der ich eine sichere Verbindung (ohne das ein Virus, Trojaner oder Ransom Virus den Computer bzw. Netzwerk zerstört) ...

Hyper-V
ESXi free oder Windows Hyper-V Server 2019
lukas0209Vor 21 StundenAllgemeinHyper-V15 Kommentare

Hallo, ich brauche ca. 2 oder 3 Windows 10 virtualisiert um Dinge zu testen. Ist es dafür sinnvoller ein Windows Hyper-V Server 2019 (kostenlos) ...

Off Topic
Nach 700 Tagen adwcleaner
altmetallerVor 22 StundenAllgemeinOff Topic7 Kommentare

Hallo, ich habe in meinem Netzwerk diverse Maßnahmen, um nicht nur Angriffe, sondern auch - sagen wir mal - unerwünschte Datenabflüsse und Tracking zu ...

Server-Hardware
Was bedeuten die Abkürzungen beim HPE-Server wie z.B. NC, Mod-X?
gelöst kaineanungVor 1 TagFrageServer-Hardware17 Kommentare

Hallo Leute, ich habe ein HPE-Serverangebot vorliegen bei dem ich an 1-2 Positionen nicht weiß was diese überhaupt bedeuten. Suche ich im Internet danach ...