Windows命令之 -- Del 删除指定文件
2010-01-29 11:40
555 查看
语法
del [Drive:][Path] FileName [ ...][/p] [/f] [/s] [/q] [/a[:Attributes]]
erase [Drive:][Path] FileName [ ...][/p] [/f] [/s] [/q] [/a[:Attributes]]
参数
[Drive:][Path] FileName
指定要删除的文件或文件集的位置和名称。FileName 为必需项。可以使用多个文件名。用空格、逗号或分号分开文件名。
/p
提示您确认是否删除指定的文件。
/f
强制删除只读文件。
/s
从当前目录及其所有子目录中删除指定文件。显示正在被删除的文件名。
/q
指定安静模式。不对删除确认作出提示。
/a
根据指定的属性删除文件。
Attributes
可以是下表中列出的文件属性中的任意一种。 属性 描述
r 只读
a 存档
s 系统
h 隐藏
- 前缀表明“非”
/?
在命令提示符下显示帮助。
注释
使用 /p
如果使用 /p,del 将显示文件名,并发送如下消息:
FileName,要删除 吗?
按 Y 确认删除,按 N 取消删除并显示下一个文件名(如果指定了一组文件)。按 Ctrl+C 停止 del 命令。
禁用命令扩展
如果禁用命令扩展,/s 命令行选项显示没有找到的任意文件名,而不是显示正在删除的文件名(即,行为相反)。有关禁用命令扩展的详细信息,请参阅“相关主题”中的 cmd。
一次删除多个文件
通过键入 del 命令,后接 [Drive:]Path,可以删除文件夹中的所有文件。例如,以下命令可删除 /Work 文件夹中的所有文件:
del /work
还可以使用通配符(* 和 ?)一次删除多个文件。但是,在使用 del 命令时要慎重地使用通配符,以避免无意中删除文件。例如,如果键入如下命令:
del *.*
Del 命令显示以下提示:
该目录中的所有文件都被删除!是否确认 (Y/N)?
要删除当前文件夹中的所有文件,按 Y,然后按 Enter。要取消删除,按 N,然后按 Enter。
在与 del 命令一起使用通配符来删除一组文件之前,使用带有相同通配符的 dir 命令查看该组中包括的所有文件的列表。
要点
使用 del 从磁盘删除文件后,将无法检索。
可以从“故障恢复控制台”使用 del 命令(带有各种参数)。
示例
要删除驱动器 C:/ 上名为 Test 文件夹中的所有文件,请键入如下命令之一:
del c:/test
del c:/test/*.*
-----------------------------------------
:: cosdos 2009/10/25
:: --- 以Windows当前系统日期为基础。
:: --- 例当前系统日期:2009/10/25,则删除
:: --- 所有以“数据库备份_”开头,后缀日期
:: --- 小于等于“20090925”的所有文件加。
@Echo off
Setlocal EnableDelayedExpansion
Title 删除当前目录中,上个月的“数据库备份_”文件夹
:: cosdos 2009/10/25
Call :main
Pause
Exit
:LastMonth
Set /a yyyy=%1+10000
Set /a mm=%2+100
Set /a dd=%3+100
If "%2" == "01" (
Set mm=112 & Goto year
) else (
Set /a mm-=1 & Set lastmonthday=%yyyy:~1,4%!mm:~1,2!%dd:~1,2%
)
Exit /b
:year
Set /a yyyy-=1
Set lastmonthday=%yyyy:~1,4%%mm:~1,2%%dd:~1,2%
Exit /b
:main
Set myfolder=数据库备份_
Set yyyy=%date:~0,4%
Set mm=%date:~5,2%
Set dd=%date:~8,2%
Call:LastMonth %yyyy% %mm% %dd%
Echo.
Echo 删除当前目录中,“%myfolder%%lastmonthday%”之前的文件夹
For /d %%i in (数据库备份_*) do (
Set folderdate=%%i&&if /i !folderdate:~-8! lEQ %lastmonthday% rd /s /q %%i
)
Exit /b
-----------------------
@echo off
title 编程论坛批量删除备份数据库DOS程序 By:不说也罢
color 37
:First
cls
echo.
echo 欢迎使用编程论坛批量删除备份数据库DOS程序
echo.
echo 制作:不说也罢
echo.
echo.
echo 本程序是应编程论坛管理员“静夜思”要求所特别制作,请勿删除作者名字。
echo.
echo 目录规则如从 数据库备份_19990101 到 数据库备份_29991231 之间的所有循环目录。
echo 注意:年份和日期都是四位数字。
echo.
goto Date
:Date
echo.
set /p m=请输入四位数的年(如2009) :
echo.
set /p d1=请输入起始日期(如0101) :
set /p d2=请输入终止日期(如1231) :
echo.
echo 继续操作将 删除 当前目录下从 数据库备份_%m%%d1% 到 数据库备份_%m%%d2% 之间的所有目录。
echo.
set /p go=你确认继续下一步操作吗?(Y/N):
if %go%==y goto Do else goto Begin
if %go%==Y goto Do else goto Begin
goto Begin
:Begin
echo.
set /p go=您要继续执行批量删除操作吗?(Y/N):
if %go%==y goto Date else goto Begin
if %go%==Y goto Date else else goto Begin
exit
:Do
echo.
echo 正在执行 删除 操作,请稍后...
for /l %%i in (%d1%,1,%d2%) do if %%i LSS 1000 (rd 数据库备份_%m%%j%0%%i /s /q) else rd 数据库备份_%m%%%i /s /q
echo.
echo 删除目录 操作执行完毕,请检查执行效果!
echo.
goto Begin
-----
内有文件的文件夹会被删除:
CODE: [Copy to clipboard] @echo off
for /f "delims=" %%a in ('dir /ad /b D:/scan') do (
dir /a-d /b /s "D:/scan/%%a" && rd /s/q "D:/scan/%%a"
) >nul 2>nul
pause
---------------
内有文件或文件夹的文件夹会被删除: CODE: [Copy to clipboard] @echo off
pushd D:/scan
for /f "delims=" %%a in ('dir /ad /b') do (
for /f %%i in ('dir /a/b "%%a"') do if exist "%%a" rd /s/q "%%a"
)
POPD
pause
相关文章推荐
- Windows 强制删除文件及文件夹命令 一、删除文件或目录CMD命令: rd/s/q D:\app (强制删除文件文件夹和文件夹内所有文件)del/f/s/q D:\app.txt (强
- del命令实现全盘删除指定文件
- DEL、RD 命令删除特殊文件、文件夹
- colrm命令_Linux colrm 命令用法详解:删除文件中的指定列
- windows删除几天前文件的批处理命令
- Windows 定时删除指定路径下N天前的日志文件
- Windows 强制删除文件及文件夹命令
- Windows 删除指定位置的文件
- Windows 下启动前删除Resin日志等文件的bat命令
- cmd del命令 文件删除
- 用命令或批处理命令一次删除windows系统一个目录下的所有文件
- 测试过程中常用的linux命令之【删除指定的文件行】
- Windows bat批处理删除指定N天前的文件
- linux下用find命令执行类似windows查找包含指定内容的文件
- 关于windows下自带的forfile批量删除文件bat命令
- Windows 下启动前删除Resin日志等文件的bat命令
- DOS,WINDOWS递归删除指定文件夹或文件
- cmd del命令 文件删除
- windows 批处理删除指定目录下 指定类型 指定天数之前文件
- window下删除不了文件工具--windows下命令管理本地用户和组