在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
2万+

被折叠的 条评论
为什么被折叠?



