Do you use delayed variable expansion in your Windows 2000/XP/2003 batch files? Windows 2000 and XP don't have delayed variable expansion enabled by default which can cause 'unpredictable results' (i.e. nasty bugs!) when you move the batch file to another system.
Although you can force delayed variable expansion to be enabled by using CMD /V:ON or by setting the registry key HKLM/Software/Microsoft/Command/Processor/Delayed/Expansion to 0x1, it doesn't hurt to check this in the batch file to prevent problems. The quickest way to check is to examine a variable using both syntaxes to see if they are equal like this:
IF NOT %Comspec%==!Comspec! ECHO Delayed Expansion is NOT enabled.
This was first published in November 2004