Primeiro : há um parêntese de fechamento extra )
em seu código; exemplo simplificado:
@ECHO OFF
SETLOCAL EnableExtensions EnableDelayedExpansion
if 1==1 (
echo good
)
) else (
echo file doesn't exist
)
Saída:
==> D:\bat\SU3931.bat
good
file doesn't exist
Segundo : como regra geral, nunca use :label
nor :: label-like comment
dentro de um bloco de comando entre ()
parênteses. Para provas e exemplos, leia
- Usando
GOTO
entre parênteses - incluindo os comandosFOR
eIF
- quebrará o contexto - Esta é a minha resposta para outra pergunta
Finalmente , como
-
%%~A
ou%%~B
ou%%~C
podem conter alguns caracteres venenososcmd
que devem ser ignorados , ou -
%%~B
ou%%~C
pode resultar em uma string vazia (tenteif == A echo any
),
use (novamente como regra geral) aspas duplas adequadas da seguinte forma:
if "%%~A" == "External_ID_vod__c" (
if "%%~B" == "M_NA_BR_Credit_Limit_CU__c" (
if "%%~C" == "CurrencyISOCode" (