在Windows操作系统中通过命令提示符(cmd)删除文件和文件夹的批处理脚本。
定义基础路径
set basePath=D:\soft\
这行代码设置了基础路径变量basePath
,其值为D:\soft\
。
删除指定文件夹内的所有文件:
del "%basePath%\server\temp\*.*" /f/s/q/a
这行代码使用del
命令删除basePath
路径下server\temp
文件夹中的所有文件。其中:
/f
表示强制删除只读文件。/s
表示删除指定目录及其子目录中的文件。/q
表示安静模式,不要求确认删除。/a
是一个错误的选项,del
命令没有这个选项。如果您想删除所有属性的文件,应该使用/a
选项,但请注意,del
命令不支持/a
选项,这是attrib
命令的选项。
使用forfiles
命令删除特定类型的文件:
删除没有文件名的文件(这可能是一个错误,因为没有文件名的文件实际上不存在):
forfiles /p "D:\emil" /s /m * /d -30 /c "cmd /c del @path /f/s/q/a"
删除所有文件名的文件(这个命令同样有误,因为*
已经匹配所有文件):
forfiles /p "D:\emil" /s /m *.* /d -30 /c "cmd /c del @path /f/s/q/a"
删除所有.log
文件:
forfiles /p "D:\emil" /s /m *.log /d -30 /c "cmd /c del @path /f/s/q/a"
forfiles
命令用于选择符合特定条件的文件并执行命令。其中:
/p
指定起始目录。/s
在所有子目录中搜索。/m
指定搜索模式,*
匹配所有文件,*.log
匹配所有扩展名为.log
的文件。/d -30
表示选择30天前的文件。/c
后面跟着要执行的命令。
删除指定文件夹及其子文件夹中的所有文件的命令
del "D:\emil\*.*" /f /s /q
注意:在执行删除操作之前,请确保您完全理解这些命令的作用,并且已经备份了所有重要数据。错误的使用这些命令可能会导致重要文件的永久丢失。此外,如果basePath
或D:\emil
路径不存在或有误,脚本将不会按预期工作。
全部代码如下:
rem 定义文件夹删除
set basePath=D:\soft\
del "%basePath%\server\temp\*.*" /f/s/q/a
rem 指定目录删除不同类型
rem 删除没有文件名的文件
forfiles /p "D:\emil" /s /m * /d -30 /c "cmd /c del @path /f/s/q/a"
rem 删除所有文件名文件
forfiles /p "D:\emil" /s /m *.* /d -30 /c "cmd /c del @path /f/s/q/a"
rem 删除log文件
forfiles /p "D:\emil" /s /m *.log /d -30 /c "cmd /c del @path /f/s/q/a"
rem 删除指定文件夹下全部文件
del "D:\emil\*.*" /f /s /q
标签:文件,bat,emil,删除,Windows,30,del,forfiles
From: https://blog.csdn.net/awonw/article/details/141200551