需求
公司会议室的笔记本桌面上,总是有大量的临时文件,因此写个脚本快速删除一下,有其他需求的也可以修改代码(比如移动到其他盘符)。
最终实现效果:
因为是系统桌面,所以比较保守,没有做递归处理。只是简单的删除一些文件。
可将指定文件夹中指定修改日期之前的指定类型的文件进行删除。
@echo off
::删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件。
::本例需要daoWin2003/Vista/Win7系统自带的forfiles命令的支持
rem 指定待删除文件的存放路径
set SrcDir=I:\temp
rem 指定天数
set DaysAgo=0
rem 指定文件后缀类型
set FileExt=doc,xls,ppt,txt,xml
for %%a in (%FileExt%) do (
call:delProc %%a
)
pause
goto end_proc
:delProc
::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。
set ext=%1
forfiles /p %SrcDir% /m *.%ext% /d -%DaysAgo% /c "cmd /c echo del /f /q /a @path"
if %ERRORLEVEL% NEQ 0 (
echo %DATE% %TIME% Pause:no %ext% file found>>error.log
)
:end_proc