In response to developer requests, the ERASE command has been modified so as to minimize the chances of unintentional file deletes, which can easily occur when using wildcards. ERASE.LIT 3.4(124) and later will now ask for confirmation when ALL of the following four conditions are met:
• | It is not running from within a CMD or DO file, which is determined by whether there are any characters in the CMD/DO file left to process. To make sure they ARE more characters to process in your CMD/DO file, it would be wise to add a blank line after a final ERASE command. |
• | It is not executed with the /Q switch |
• | The command will result in more than one file being deleted. |
• | A-Shell was not launched with the -e switch. |
For example:
.erase *.bak[]
ASTAT.BAK
ATECFG.BAK
ATECTL.BAK
ATEUPDATE.BAK
ATSYNC.BAK
SBXINP.BAK[7,6]
Total of 6 files, 149 disk blocks will be deleted
Proceed with actual file deletion ? N
%No files deleted
.
.
.erase *.bak[]
ASTAT.BAK
ATECFG.BAK
ATECTL.BAK
ATEUPDATE.BAK
ATSYNC.BAK
SBXINP.BAK[7,6]
Total of 6 files, 149 disk blocks will be deleted
Proceed with actual file deletion ? Y
Total of 6 files deleted, 149 disk blocks freed
Note that the confirmation character is based on the current language, as is the case with the /Q confirmation; in fact, they use the same routine. The messages are all from the LITMSG.xxx file too, and will default to English if not specified in the message file.