Batchabbruch bei IF EQU wenn Variable Leerzeichen enthält
Hallo,
Nach Ausgabe der 2 bricht dieser Code ab. Das Ziel ist es, festzustellen, ob test 2 Anführungszeichen enthält: ""
Der Fehler tritt immer dann auf wenn test ein Leerzeichen enthält und das kommt auch vor.
Wie kann die Anführungszeichen richtig prüfen?
Nach Ausgabe der 2 bricht dieser Code ab. Das Ziel ist es, festzustellen, ob test 2 Anführungszeichen enthält: ""
Der Fehler tritt immer dann auf wenn test ein Leerzeichen enthält und das kommt auch vor.
Wie kann die Anführungszeichen richtig prüfen?
set test=dd gg
echo 1
IF "%test%" EQU "" ja1
echo 2
IF %test% EQU "" echo ja2
echo 3
Please also mark the comments that contributed to the solution of the article
Content-Key: 391527
Url: https://administrator.de/contentid/391527
Printed on: April 26, 2024 at 01:04 o'clock
5 Comments
Latest comment
Was meinst du mit
Steffen
Das Ziel ist es, festzustellen, ob test 2 Anführungszeichen enthält: ""
Ob der Variableninhalt einen in Anführungszeichen gestellten String enthält, oder ob irgendwo im Variableninhalt Anführungszeichen vorkommen, oder ob der Variableninhalt nur aus 2 Anführungszeichen besteht?Steffen
Zitat von @anmelder:
Ob test einen String enthält:
Ja soll bei diesem Beispiel ausgegeben werden.
Ob test einen String enthält:
set test=""
> IF %test% EQU "" echo ja2
>
Ja soll bei diesem Beispiel ausgegeben werden.
set "test="
IF "%test%" EQU "" echo Test ist leer
Same procedure as last time, James
Steffen
Zitat von @rubberman:
Wenn du deine Variablen einmal zugewiesen hast, kannst du den Rest mit eingeschalteter verzögerter Variablenerweiterung erledigen, um Nebenwirkungen zu verringern.
Wenn du deine Variablen einmal zugewiesen hast, kannst du den Rest mit eingeschalteter verzögerter Variablenerweiterung erledigen, um Nebenwirkungen zu verringern.
@echo off &setlocal
set test=""
set quotes=""
setlocal EnableDelayedExpansion
echo 1
IF not defined test echo ja1
echo 2
IF "!test!" EQU "!quotes!" echo ja2
echo 3
endlocal
pause