Purpose: Erase one file, a group of files, or entire subdirectories.


Format: DEL [ranges] [/A:[[-|+]rhsadecijopt /E /F /I"text" /K /N[defjst] /P /Q /R /S[n] /T /W /X /Y /Z] [@file ]  file...


file        The file, subdirectory, or list of files or subdirectories to erase.

@file        A text file containing the names of the files to delete, one per line (see @file lists for details).


/A:  (Attribute select)
/B (Delete after reboot)
 /R(ecycle bin)
/E (No error messages)
/F(orce delete)
/I (match descriptions)
/K (no Recycle Bin)
 /X (remove empty subdirectories)
/N (Disable)
 /Y(es to all prompts)
 /Z(ap hidden and read-only files)


File Selection


Supports attribute switches, extended wildcards, ranges, multiple file names, and include lists. Use wildcards with caution on LFN volumes; see LFN File Searches for details.




Can be used with FTP/HTTP Servers.




DEL and ERASE are synonyms. You can use either one. In the description below, every reference to DEL applies equally to ERASE.


Use the DEL command with caution. The files and subdirectories that you erase may be impossible to recover without specialized utilities and a lot of work.


To erase a single file, simply enter the file name:


del letters.txt


You can also erase multiple files in a single command. For example, to erase all the files in the current directory with a .BAK or .PRN extension:


del *.bak *.prn


When you use DEL on an LFN drive, you must quote any file names which contain white space or special characters.


To exclude files from a DEL command, use a file exclusion range. For example, to delete all files in the current directory except those whose extension is .TXT, use a command like this:


del /[!*.TXT] *


When using exclusion ranges or other more complex options you may want to use the /N switch first, to preview the effects of the DEL without actually deleting any files.


If you enter a subdirectory name, or a filename composed only of wildcards (* and/or ?), DEL asks for confirmation (Y or N) unless you specified the /Y option. If you respond with a Y, DEL will delete all the files in that subdirectory (hidden, system, and read-only files are only deleted if you use the /Z option). NOTE:  The Windows command processor, CMD.EXE, behaves the same way but does not ask for confirmation if you use /Q to delete files quietly. If you want TCC to follow CMD.EXE's approach and skip the confirmation prompt when /Q is used, set the Prompt on Wildcard Deletes configuration option. Use caution if you disable this option, as this will allow DEL /Q to delete an entire directory without prompting for confirmation.


DEL displays the amount of disk space recovered, unless the /Q option is used (see below). It does so by comparing the amount of free disk space before and after the DEL command is executed. This amount may be incorrect if you are using a deletion tracking system which stores deleted files in a hidden directory, or if another program performs a file operation while the DEL command is executing.


Remember that DEL removes file descriptions along with files. Most deletion tracking systems will not be able to save or recover a file's description, even if they can save or recover the data in a file. This applies to the use of DEL with the Windows Recycle Bin, too - the description will be lost.


When a file is deleted without using the Recycle Bin, its disk space is returned to the operating system for use by other files. However, the contents of the file remain on the disk until they are overwritten by another file. If you wish to obliterate a file or wipe its contents clean, use the /W option, which overwrites the file with zeros before deleting it. Use this option with caution. Once a file is obliterated, it is impossible to recover. Remember: /W overrides using the Recycle Bin.


DEL returns a non-zero exit code if no files are deleted, or if another error occurs. You can test this exit code with the %_? internal variable, and use it with conditional commands (&& and ||).


Use caution when using wildcards with DEL on LFN drives, because TCC's wildcard matching can match both short and long filenames. This can delete files you did not expect; see LFN File Searches for additional details.


• Recycle Bin


When you delete files with DEL, TCC does not move the deleted files to the Windows Recycle Bin by default. You can change this default with the Delete to Recycle Bin configuration option. If you have disabled the recycle bin, you can override the setting and place deleted files in the recycle bin with the /R option:


del /r letters.txt


If you have enabled Recycle Bin support, but want to override the default setting on a one-time basis, and delete some files without placing them in the recycle bin, use the /K option:


del /k letters.txt


You can also exclude files from the Recycle bin, even if Delete to Recycle Bin is enabled, or if the command use the /R option, with the RecycleExclude environment variable.


• FTP Usage 


If you have appropriate permissions, you can delete files on FTP servers. For example:


del ftp://ftp.abc.com/index


You can also use the IFTP command to start an FTP session on a server and then use one of the following syntax examples:


del ftp:path/*.txt

del ftp:/path/*.txt


The first syntax will normally be interpreted by the server as relative to the path you specified when you used the IFTP command to start the FTP session. The second syntax, with a slash before the path name, is interpreted as starting from the root.


• NTFS File Streams 


DEL supports file streams on NTFS drives. You can delete an individual stream by specifying the stream name, for example:


del streamfile:s1


If no stream name is specified the entire file is deleted, including all streams.


See NTFS File Streams for additional details.




/A: Delete only those files that have the specified attribute(s) set. See Attribute Switches for information on the attributes which can follow /A:. Do not use /A: with @file lists. See @file lists for details.


/B If DEL can't delete the file (for example, if access is denied) it will schedule it to be deleted at the next reboot.


/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.


/F This option has the same effect as /Z (see below): it deletes read-only, hidden, and system files as well as normal files.. It is included for compatibility with CMD.EXE.


/I"text" Select filenames by matching text in their descriptions. The text can include wildcards and extended wildcards. The search text must be enclosed in double quotes, and must follow the /I immediately, with no intervening spaces. You can select all filenames that have a description with /I"[?]*", or all filenames that do not have a description with /I"[]".


/K Physically delete files instead of sending them to the Windows Recycle Bin.


/N Do everything except actually delete the file(s). This is useful for testing the result of a DEL.


A /N with one of the following arguments has an alternate meaning:


d Skip hidden directories (when used with /S)

e Don't display errors

f Don't display the bytes freed in the summary

j Skip junctions (when used with /S)

s Don't display the summary

t Don't update the CD / CDD extended directory search database (JPSTREE.IDX)


/P Prompt the user to confirm each erasure. Your options at the prompt are explained in detail under Page and File Prompts.


/Q Don't display filenames as they are deleted, or the number of files deleted or bytes freed. If Prompt on Wildcard Deletes is disabled then /Q also disables the normal confirmation prompt when performing wildcard deletions (e.g. DEL *), for compatibility with CMD.EXE. Use caution if you disable Prompt on Wildcard Deletes, as this will allow DEL /Q to delete an entire directory without prompting for confirmation. See also /T.


/R Delete files to the Windows Recycle Bin.


/S Delete the specified files in this directory and all of its subdirectories. This is like a GLOBAL DEL, and can be used to delete all the files in a subdirectory tree or even a whole disk. Do not use /S with @file lists. See @file lists for details.


If you specify a number after the /S, DEL will limit the subdirectory recursion to that number.  For example, if you have a directory tree "\a\b\c\d\e", /S2 will only affect the "a", "b", and "c" directories.


/T Don't display filenames as they are deleted, but display the total number of files deleted plus the amount of free disk space recovered. Unlike /Q, the /T option will not speed up deletions under DOS.


/W Clear the file to zeros before deleting it. Use this option to completely obliterate a file's contents from your disk. Once you have used this option it is impossible to recover the file even if you are using an undelete utility, because the contents of the file are destroyed before it is deleted. /W overwrites the file only once; it does not adhere to security standards which require multiple overwrites with varying data when destroying sensitive information. /W will override a /R.


/X Removes empty subdirectories (only useful when used with /S). If DEL deletes one or more directories, they will be removed automatically from the extended directory search database.


/Y The reverse of /P ? it assumes a Y response to everything, including deleting an entire subdirectory tree.  TCC normally prompts before deleting files when the name consists only of wildcards or a subdirectory name (see above); /Y overrides this protection and should be used with extreme caution!


/Z Delete read-only, hidden, and system files as well as normal files. Files with the read-only, hidden, or system attribute set are normally protected from deletion; /Z overrides this protection, and should be used with caution. Because EXCEPT works by hiding files, /Z will override an EXCEPT command. However, files specified in a file exclusion range will not be deleted by DEL /Z.


For example, to delete the entire subdirectory tree starting with C:\UTIL, including hidden and read- only files, without prompting (use this command with CAUTION!):


del /s /x /y /z c:\util\