Delayed variable expansion causes a Windows batch file to evaluate variables at run time instead of parse time.