so enabling the delayed expansion works script-wise, however, now the *.bat file takes about 8-9 seconds to open after double-clicking (i.e., for the command window to display) - it used to be instantaneous.
i tried disabling the delayed expansion (is the command case sensitive?), but this has still left the command window taking a long time to open, even if it's not my batch file (e.g., WindowksKey+R, "cmd" + ENTER) and even if i restart my computer - is this a result of playing with the 'local environment' with the expansion?
another related issue is that whatever i set in the batch file used to only affect the batch file (e.g., if i set colour and cmd window size), but since setting the "setlocal" code, anything i've 'set' in my batch file seems to seep over to the command window...? i read (later) that a set or setlocal should be coupled with an "endlocal" - is that where i've gone wrong there? also, would that make a difference with the "color" command?
by the way, i *think* i've figured out a way to get around delayed expansion with an if statement (though unsure if the setlocal is still making a muck of the place, if at all), and that is to have a goto in place of the code, and have the "then" and "else" code separate, as below:
::determine if program is run from local or other drive
IF %~d0==C: (GOTO START_ASK) ELSE (GOTO START_SET)
ECHO Please attach the backup drive.
:: set drive letter manually
SET /P L="Type the drive letter, then press ENTER: "
::set drive letter of batch file automatically
:: set the variable for backup log file
:: set the variable for restore log file
:: set the variable for restore log path
which may be a better thing to have if setlocal plays around with real computer settings....