Quantcast
Channel: Windows – Andy's Blog
Viewing all articles
Browse latest Browse all 979

Windows: Variablen innerhalb von If-Anweisungen

$
0
0

Batch-Skripte unter Windows (und zuvor DOS) sind eine feine Sache für einfache Automatisierung. Verschachtelt man allerdings If-Anweisungen und möchte man innerhalb dieser auch noch Variablen verwenden, so führt das mitunter in eine böse Falle.

Folgendes Beispiel funktioniert nicht:

@echo off

set Var1=1

if %Var1%==1 (
 set Test=True
 echo %Test%
)

Man würde erwarten das als Ausgabe „True“ erscheint, stattdessen kommt ein „ECHO ist ausgeschaltet (OFF)“. Hintergrund ist, das Variablen innerhalb von If-Anweisungen anders behandelt werden. Lösbar ist das Ganze wie folgt:

@echo off

setlocal enabledelayedexpansion

set Var1=1

if %Var1%==1 (
 set Test=True
 echo !Test!
)

Relevant ist neben dem einleitenden „setlocal enabledelayedexpansion“ das innerhalb der If-Anweisung statt Prozent- Ausrufezeichen verwendet werden.

Eine Variable die innehalb einer If-Anweisung definiert wurde, kann außerhalb der Anweisung wie gewohnt mit den Prozentzeichen verwendet werden:

@echo off

setlocal enabledelayedexpansion

set Var1=1

if %Var1%==1 (
 set Test=True
)

echo %Test%

Quelle:

stackoverflow – ERRORLEVEL inside IF


Viewing all articles
Browse latest Browse all 979

Trending Articles


Vimeo 10.7.1 by Vimeo.com, Inc.


UPDATE SC IDOL: TWO BECOME ONE


KASAMBAHAY BILL IN THE HOUSE


Girasoles para colorear


Presence Quotes – Positive Quotes


EASY COME, EASY GO


Love with Heart Breaking Quotes


Re:Mutton Pies (lleechef)


Ka longiing longsem kaba skhem bad kaba khlain ka pynlong kein ia ka...


Vimeo 10.7.0 by Vimeo.com, Inc.


FORECLOSURE OF REAL ESTATE MORTGAGE


FORTUITOUS EVENT


Pokemon para colorear


Sapos para colorear


Smile Quotes


Letting Go Quotes


Love Song lyrics that marks your Heart


RE: Mutton Pies (frankie241)


Hato lada ym dei namar ka jingpyrshah jong U JJM Nichols Roy (Bah Joy) ngin...


Long Distance Relationship Tagalog Love Quotes