Ich kann nicht herausfinden, warum sowohl IF als auch ELSE gleichzeitig die Bedingung erfüllen.
@echo off
setlocal enabledelayedexpansion enableextensions
Set filename=Credit_Limits\Input\BR_Credit_Limit_Upload.csv
if exist %filename% (
FOR /F "tokens=1-3* delims=," %%A IN (%filename%) DO (
if %%~A == External_ID_vod__c (
if %%~B == M_NA_BR_Credit_Limit_CU__c (
if %%~C == CurrencyISOCode (
echo good
)
)
)
goto :break
)
)
:break
) else (
echo file doesn't exist
)
Ich erhalte immer weniger als die Ausgabe:
good
file doesn't exist
if exist %filename%
Bedingung nicht erfüllt ist , wird meines Erachtens nur die Steuerung an einen anderen Teil übergeben und der Ausdruck "Datei existiert nicht" ausgegeben.Eine andere Option kann sein, einfach keine ELSE-Anweisung zu verwenden. Das folgende Beispiel verwendet weniger Klammern als der frühere Beispielcode, sollte jedoch äquivalent sein.
quelle