WAD DEL /E suppresses fatal ERROR messages

  • This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.
#1
Checked in 32b TCC versions 11, 12, 14 and 15 under WinXP-32b.

I tried the command below both with and without the /e option; also using the e suboption of /n option.

*del /e /q /x /y /z /s /njt mozilla-temp-files\

The specified directory contains a file which is in use by another process, thus neither the file nor its directory can be deleted. Without /e option (and without /ne) there are two error reports; with either /e or /ne there are no error reports. In either case %_del_errors is set to 2 in TCC versions which support it.

According to HELP:

/e Suppress all non-fatal error messages, such as "File Not Found." Fatal error messages, such as "Drive not ready," will still be displayed. This option is most useful in batch files and aliases.

I interpret the above HELP fragment to mean that the failure to delete is a fatal error, and you need the /ne option to suppress it, but /e should report it. IIRC I was one of those who suggested that when you try to delete something that does not exit, it is not a fatal error, because the system state after the command is what you wanted it to be anyway, so an option to suppress an informatory message would reduce clutter; that's what /e was intended to achieve. Though the documentation is not crystal clear, I thought that was also the purpose of /ne (though there are times one does not want actual error messages, either).
 
#3
Current /e or /ne does not do what I had long ago argued we need - report actually failed operations only, i.e., differences between the system state desired according to the command line and systems state actually arrived at on command completion. If I ask an existing object to be deleted, and it is not, report is needed. If I ask a nonexisting object to be deleted, report is not needed (unless I am in a verbose mode, e.g., without using /ne). I think it would have been better if the option had been named no warnings, since that's what it was requested to stop. As the command works, I can either get warnings that the file to be deleted has already been deleted, or not get an error message even if another process prevented its deletion.