/ / Batchfile: Was ist der beste Weg, um eine boolesche Variable zu deklarieren und zu verwenden? - Windows, Batchdatei, cmd, windows-10, Eingabeaufforderung

Batchdatei: Wie deklariert und verwendet man am besten eine boolesche Variable? - Windows, Batch-Datei, Cmd, Windows-10, Eingabeaufforderung

Was ist der beste Weg, eine boolsche Variable in Batch-Dateien zu deklarieren und zu verwenden? Dies ist, was ich jetzt mache:

set "condition=true"

:: Some code that may change the condition

if %condition% == true (
:: Some work
)

Gibt es einen besseren, formelleren Weg, dies zu tun? (In Bash können Sie dies beispielsweise tun if $condition schon seit true und false sind eigene Befehle.)

Antworten:

9 für die Antwort № 1
set "condition="

und

set "condition=y"

woher y könnte eine beliebige Zeichenfolge oder Zahl sein.

Dies erlaubt if defined und if not defined Beides kann innerhalb einer Blockanweisung (eine Klammerfolge von Anweisungen) verwendet werden, um den Laufzeitstatus des Flags ohne dessen Abfrage abzufragen enabledelayedexpansion


dh.

set "condition="
if defined condition (echo true) else (echo false)

set "condition=y"
if defined condition (echo true) else (echo false)

Der erste wird widerhallen false, der Zweite true


7 für die Antwort № 2

Ich bleibe vorerst bei meiner ursprünglichen Antwort:

set "condition=true"

:: Some code...

if "%condition%" == "true" (
%= Do something... =%
)

Wenn jemand einen besseren Weg kennt, antworten Sie bitte auf diese Frage und ich werde Ihre Antwort gerne annehmen.