J'ai cette partie du code qui fonctionne bizarre:
if !NoOfLines!==!trailer! (
echo Count of records in DFUView interface verified ok. >> %LOG_DIR%\%SCRIPT_NAME%.log
) else (
echo Count of records in DFUView interface do not match trailer . !NoOfLines! !trailer! Hence aborting. >> %LOG_DIR%\%SCRIPT_NAME%.log
goto Error
)
Même si les variables NoOfLines
et trailer
portent la même valeur, ce que j'ai confirmé en imprimant avec echo
, la If
commande saute à la Else
partie qui correspond au cas où deux variables ne sont pas égales.
windows
script
batch-file
Novice
la source
la source
else
branche, echo"!NoOfLines!" "!trailer!"
: sont les mêmes?Réponses:
Dans Windows Batch Scripting, les variables doivent être entourées par
%
not!
lorsque vous n'utilisez pas d'expansion retardée *. Cette ligne de code fonctionne comme prévu:Plus d'informations sur la syntaxe de l'
IF
instruction peuvent être obtenues à l'invite de commande en les tapantIF /?
.* Tapez
Setlocal /?
à l'invite de commande pour plus d'informations sur l'expansion des variables différéesla source