Multi-level deletion
@echo off
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist %%a:\ (
::Delete the specified file in "drive letter:\"
del "%%a:\Soft.exe" /f /q 2>nul
for /d %%b in (%%a:\*) do (
::Delete the specified file in "Drive Letter:\First Level Folder"
del "%%b\Soft.exe" /f /q 2>nul
::Delete the specified file in "Drive Letter:\First Level Folder\Second Level Folder"
for /d %%c in ("%%b\*") do del "%%c\Soft.exe" /f /q 2>nul
)
)
)
pause
All delete
@echo off
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
::Delete specified files in all subdirectories
if exist "%%a:\" del "%%a:\Soft.exe" /s /f /q 2>nul
)
pause
Reprinted at: http://www.bathome.net/thread-35465-1-1.html
Delete files before the specified date
@ echo off
forfiles /p .\ /s /m file*.* /d -3 /c "cmd /c echo @file>>.\del.txt"
forfiles /p .\ /s /m file*.* /d -3 /c "cmd /c del @path"
pause
/p specifies the directory .\ is the current directory or you can specify a specific directory such as:
forfiles /p “C:\Users\administrator\Desktop\test”
/s recurse to subdirectories
/m Search for the file name to be deleted, the default is .
/d -3 means 3 days ago
/c means to execute the command to be executed, which needs to be enclosed by “”, such as “cmd /c del” means to execute the del command of cmd
@file
Return the file name.
@fname
Return the file name without extension.
@ext
Only the extension of the file is returned.
@path
Returns the full path of the file.
@relpath
Returns the relative path of the file.
@isdir
If the file type is a directory, return “TRUE”;
If it is a file, “FALSE” is returned.
@fsize
Returns the file size in bytes.
@fdate
Returns the date when the file was last modified.
@ftime
Returns the time when the file was last modified.
Reprinted at: https://www.cnblogs.com/joeshang/p/10487154.html
No Comments