- Delete files from command line
- How to delete a file
- Delete files in bulk
- Delete multiple files
- Delete Read only files
- Windows del all files
- Errorlevels
- Undeletable Files
- Permanent deletion
- Delete Locked files
- Windows del all files
- Syntax
- Parameters
- Remarks
- Examples
- del del
- Синтаксис Syntax
- Параметры Parameters
- Комментарии Remarks
- Примеры Examples
Delete files from command line
Deleting files is one of the frequently done operation from Windows command prompt. This post explains how to use ‘del’ command from CMD for different use cases like deleting a single file, deleting files in bulk using wild cards etc. Before we start to look at the syntax, note that the command works only for files and can’t handle folders.
How to delete a file
Run del command with the name of the file to be deleted, you are done!
You do not see message after running the command if the file is deleted successfully. Error message is shown only when something goes wrong.
Delete files in bulk
Del command recognizes wildcard(*) and so can be used to delete files in bulk from CMD. Some examples below.
To delete all the files in current folder
To delete all the files with ‘log’ extension
Delete all files having the prefix ‘abc’
Delete all files having ‘PIC’ somewhere in the file name.
The above are the basic use cases of del command. Continue to read below for non trivial use cases.
Delete multiple files
‘Del’ command can accept multiple files as argument
Delete Read only files
We can’t delete a read-only file using simple‘del’ command. We get access denied error in this scenario.
A read-only file can be deleted by adding /F flag.
Alternatively, we can use the below command too
Is there any batch command to delete all zero byte sized files from cmd.
There is a way to remove folders from the commandline, use “RD” (remove directory), and it has a couple of silent switches, “RD /S /Q C:/Directory” will remove C:/Directory silently, I use this all the time. I think that the directory path has to be in quotations if it contains any spaces.
UAC might want to fight over deleting files, in that case, the command “takeown” to give you ownership of the file first, should get around that.
Sometimes we get an error when we try to delete a File or a folder for no reason , but of course there is a reason.We have many damage file or blocked files.Do not worry if we want to remove the error files or too long path files from our system,here I suggest a smooth way.So use “Long path tool” software and keep yourself.
Well done, I used this when del *1*.*
Will keep this in my reference book. Thanks a lot!
Is there a way to exclude filenames matching a pattern from a delete? For example, I want to delete all files except those whose names are like *xyz*
I am trying to delete csv files in DOS that have a date suffix of earlier
than 2 months ago. I need to do this dynamically, from a batch file.
Is this possible ? Many thanks.
Bethany
I want to delete a file from all the user’s profiles using cmd.
The file is on the desktop.
Name of the file-Hello My Name
I’m writing del %PUBLIC%\Desktop\Hello*My*Name.pdf,but that doesnt seem to work.
I also tried del %PUBLIC%\Desktop\*Hello* but that didnt work too.
Any help is appreciated
c. Using the for loop create 5 text files which start from letter a (ex: a1, a2, a3, a4, a5).
can you help me
create 5 files like this command.
for /l %a in (1 1 5) do mkdir File%a.
Windows del all files
Delete one or more files.
If a folder name is given instead of a file, all files in the folder will be deleted, but the folder itself will not be removed.
Errorlevels: DEL will return an Errorlevel of 0, irrespective if the delete succeeds or fails for any reason.
Also a deletion failure will not fire for || unless the DEL arguments are invalid.
If you delete files using PowerShell then a True/False return code ( $? ) will be set correctly.
Errorlevels
If the files were successfully deleted %ERRORLEVEL% = 0
If the files failed to delete, or don’t exist to be deleted %ERRORLEVEL% = 0
Bad or no parameters given %ERRORLEVEL% = 1
Undeletable Files
Files are sometimes created with a very long filename or a trailing period or with reserved names (CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN, NUL) and as a result they become impossible to delete with Windows Explorer.
To delete such files use the syntax: DEL «\\?\path to file»
You can also use «\\.\path to device «
e,g,
DEL «\\?\C:\some folder\AZH64GT.»
DEL «\\.\C:\Work\LPT1 «
Alternatively for long filenames, you can reduce the total path length by using SUBST to map a drive letter to the folder containing the file.
It is also possible to delete long paths using RoboCopy — Copy/Move the required files to a temporary folder and then delete the folder, one gotcha with that technique is RoboCopy’s tendency to follow symbolic links which can cause files outside the source folder to be moved/ deleted.
If a file is still ‘undeletable’ this may be caused by the indexing service, temporarily stop the service and then delete the file.
Permanent deletion
Deleting a file will not prevent third party utilities from un-deleting it again. Secure file deletion utilities are available, however for casual use, you can turn any file into a zero-byte file to destroy the file allocation chain like this:
TYPE nul > C:\examples\MyFile.txt
DEL C:\examples\MyFile.txt
Delete Locked files
Typically this is caused by the Offline Cache or Internet Explorer temp files.
Close all applications
Open a command prompt
Click Start, and then Shut Down
Simultaneously press CTRL+SHIFT+ALT.
While you keep these keys pressed, click Cancel in the Shut Down Windows dialog box.
In the command prompt window, navigate to the cache location, and delete all files from the folder (DEL /s)
At the command prompt, type explorer, and then press ENTER.
DELTREE — Older versions of Windows had the DELTREE command to delete all files and sub folders. This can be replicated with a script as shown on the DELTREE page.
Delete «Hello World.txt»
DEL «Hello World.txt»
Delete 3 named files:
DEL file1.txt file2.txt «C:\demo\file3.txt»
Delete all files that start with the letter A
Delete all files that end with the letter A
Delete all files with a .doc extension:
Delete all read only files:
Delete all files including any that are read only:
Normally DEL will display a list of the files deleted, if Command Extensions are disabled; it will instead display a list of any files it cannot find.
DEL is an internal command. ERASE is a synonym for DEL
“But over all things brooding slept, The quiet sense of something lost”
DELPROF — Delete user profiles.
DELTREE — Script to Delete a folder and all subfolders/files.
RD — Delete folders or entire folder trees.
CleanMgr — Automated cleanup of Temp files, Internet files, downloaded files, recycle bin.
FORFILES — Delete files older than X days.
INUSE — updated file replacement utility (may not preserve file permissions)
Q120716 — Remove Files with Reserved Names.
Q320081 — You cannot delete a file or folder.
Q159199 — A file cannot be deleted (NTFS)
PowerShell: Remove-Item — Delete the specified items.
Equivalent bash command (Linux): rmdir / rm — Remove folders/ files.
Windows del all files
Deletes one or more files. This command performs the same actions as the erase command.
The del command can also run from the Windows Recovery Console, using different parameters. For more information, see Windows Recovery Environment (WinRE).
If you use del to delete a file from your disk, you can’t retrieve it.
Syntax
Parameters
Parameter | Description |
---|---|
Specifies a list of one or more files or directories. Wildcards may be used to delete multiple files. If a directory is specified, all files within the directory will be deleted. | |
/p | Prompts for confirmation before deleting the specified file. |
/f | Forces deletion of read-only files. |
/s | Deletes specified files from the current directory and all subdirectories. Displays the names of the files as they are being deleted. |
/q | Specifies quiet mode. You are not prompted for delete confirmation. |
/a[:] | Deletes files based on the following file attributes:
. |
/? | Displays help at the command prompt. |
Remarks
If you use the del /p command, you’ll see the following message:
FileName, Delete (Y/N)?
To confirm the deletion, press Y. To cancel the deletion and to display the next file name (if you specified a group of files), press N. To stop the del command, press CTRL+C.
If you disable command extension, the /s parameter will display the names of any files that weren’t found ,instead of displaying the names of files that are being deleted.
If you specify specific folders in the parameter, all of the included files will also be deleted. For example, if you want to delete all of the files in the \work folder, type:
You can use wildcards (* and ?) to delete more than one file at a time. However, to avoid deleting files unintentionally, you should use wildcards cautiously. For example, if you type the following command:
The del command displays the following prompt:
Are you sure (Y/N)?
To delete all of the files in the current directory, press Y and then press ENTER. To cancel the deletion, press N and then press ENTER.
Before you use wildcard characters with the del command, use the same wildcard characters with the dir command to list all the files that will be deleted.
Examples
To delete all the files in a folder named Test on drive C, type either of the following:
To delete all files with the .bat file name extension from the current directory, type:
To delete all read-only files in the current directory, type:
del del
Удаляет один или несколько файлов. Deletes one or more files. Эта команда выполняет те же действия, что и команда Erase . This command performs the same actions as the erase command.
Команда Del также может запускаться из консоли восстановления Windows с использованием различных параметров. The del command can also run from the Windows Recovery Console, using different parameters. Дополнительные сведения см. в разделе Среда восстановления Windows (WinRE). For more information, see Windows Recovery Environment (WinRE).
Если удалить файл с диска с помощью Del , вы не сможете получить его. If you use del to delete a file from your disk, you can’t retrieve it.
Синтаксис Syntax
Параметры Parameters
Параметр Parameter | Описание Description |
---|---|
Указывает список из одного или нескольких файлов или каталогов. Specifies a list of one or more files or directories. Для удаления нескольких файлов можно использовать подстановочные знаки. Wildcards may be used to delete multiple files. Если указан каталог, все файлы в каталоге будут удалены. If a directory is specified, all files within the directory will be deleted. | |
/p /p | Запрашивает подтверждение перед удалением указанного файла. Prompts for confirmation before deleting the specified file. |
/f /f | Принудительное удаление файлов, которые доступны только для чтения. Forces deletion of read-only files. |
/s /s | Удаляет указанные файлы из текущего каталога и всех подкаталогов. Deletes specified files from the current directory and all subdirectories. Отображает имена файлов при их удалении. Displays the names of the files as they are being deleted. |
/q /q | Задает тихий режим. Specifies quiet mode. Подтверждение удаления не запрашивается. You are not prompted for delete confirmation. |
/a [:] /a[:] | Удаляет файлы на основе следующих атрибутов файлов: Deletes files based on the following file attributes:
. . |
/? /? | Отображение справки в командной строке. Displays help at the command prompt. |
Комментарии Remarks
При использовании del /p команды вы увидите следующее сообщение: If you use the del /p command, you’ll see the following message:
FileName, Delete (Y/N)?
Чтобы подтвердить удаление, нажмите клавишу Y. Чтобы отменить удаление и отобразить следующее имя файла (если указана группа файлов), нажмите клавишу N. Чтобы закрыть команду Del , нажмите клавиши CTRL + C. To confirm the deletion, press Y. To cancel the deletion and to display the next file name (if you specified a group of files), press N. To stop the del command, press CTRL+C.
Если вы отключаете расширение команды, параметр /s отображает имена всех файлов, которые не были найдены, а не отображает имена удаляемых файлов. If you disable command extension, the /s parameter will display the names of any files that weren’t found ,instead of displaying the names of files that are being deleted.
Если указать определенные папки в параметре, все включаемые файлы также будут удалены. If you specify specific folders in the parameter, all of the included files will also be deleted. Например, если нужно удалить все файлы в папке \ворк , введите: For example, if you want to delete all of the files in the \work folder, type:
Можно использовать подстановочные знаки (* и ?) для удаления нескольких файлов за раз. You can use wildcards (* and ?) to delete more than one file at a time. Однако во избежание непреднамеренного удаления файлов следует использовать подстановочные знаки с осторожностью. However, to avoid deleting files unintentionally, you should use wildcards cautiously. Например, если ввести следующую команду: For example, if you type the following command:
Команда Del выводит следующее сообщение: The del command displays the following prompt:
Are you sure (Y/N)?
Чтобы удалить все файлы в текущем каталоге, нажмите клавишу Y и нажмите клавишу ВВОД. To delete all of the files in the current directory, press Y and then press ENTER. Чтобы отменить удаление, нажмите клавишу N и нажмите клавишу ВВОД. To cancel the deletion, press N and then press ENTER.
Прежде чем использовать подстановочные знаки с командой Del , используйте те же подстановочные знаки с командой dir , чтобы получить список всех файлов, которые будут удалены. Before you use wildcard characters with the del command, use the same wildcard characters with the dir command to list all the files that will be deleted.
Примеры Examples
Чтобы удалить все файлы в папке с именем Test на диске C, введите следующую команду: To delete all the files in a folder named Test on drive C, type either of the following:
Чтобы удалить все файлы с расширением bat из текущего каталога, введите: To delete all files with the .bat file name extension from the current directory, type:
Чтобы удалить все файлы только для чтения в текущем каталоге, введите: To delete all read-only files in the current directory, type: