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
GOTOentre parênteses - incluindo os comandosFOReIF- quebrará o contexto - Esta é a minha resposta para outra pergunta
Finalmente , como
-
%%~Aou%%~Bou%%~Cpodem conter alguns caracteres venenososcmdque devem ser ignorados , ou -
%%~Bou%%~Cpode 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" (