forfiles语句如下
forfiles /p "path" /s /m *.zip /d -7 /c "cmd /c del @path"
- /p:指定目录
- /s:递归搜索子目录
- /m:指定文件类型
- /d:-7表示7天前的文件
- /c:自行命令,后面双引号括起来的是删除文件命令
删除本地过期文件
forfiles /p "D:\Backup\autoDelete" /s /m *.* /d -7 /c "cmd /c del @path"
//递归删除 D:\Backup\autoDelete 下七天前的所有类型文件
删除网络地址过期文件
注意:要删除网络地址上的文件,必须把对应文件夹共享,并且赋everyone读/写权限
删除网络地址过问文件时命令不能直接使用网络地址
forfiles /p "\\188.1.11.11\Backup\autoDelete" /s /m *.* /d -7 /c "cmd /c del @path"
//此方法是不可行的,不支持直接在语句中写入网络地址
需要把对应网络地址映射为网络驱动器
映射为网络驱动器方法:右击我的电脑–》点击映射网络驱动器
选择一个驱动器名(如Z),在文件夹中输入网络地址,此时需要注意:不能输入需要删除文件的目标目录,应输入父级目录,如目标为\188.1.11.11\Backup\autoDelete,则输入为\188.1.11.11\Backup
映射网络驱动器后即可进行删除网络路径下的过期文件
forfiles /p "Z:\autoDelete" /s /m *.* /d -7 /c "cmd /c del @path"
//此时目录地址为映射地址+目标目录
可把删除语句写成.bat文件,然后加入到计算机计划任务中,定期执行删除操作