序
你是否被电脑软件的缓存或者数据文件过多而烦恼?例如·······QQ?
当你使用 垃圾清理
软件检测的时候很可能会遇到如下情况:
很大一部分都是群聊天缓存 的表情包、图片
当你点进去去查看的时候,又会是这样子:
很崩溃吧!!!!
一
如果你想要清理以上图片却无从下手,你可以试试删除指定日期之前的图片
例如:
- 我的图片缓存文件是从2019年开始的
- 在确认没有重要群聊含有重要图片后
- 我可以直接将2021年之前的图片全部删除
Why?因为马上2022年了啊,留着一年前的缓存干什么????
二
将我自用的批处理代码贴出来供大家使用:
@echo off
echo.
echo 本脚本用于删除N天以前的文件及空目录
echo.
set daysAgo=
set /p daysAgo=执行天数:
echo.
set srcDir="."
echo 执行目录:%cd%
echo.
echo 请选择需要执行的操作:
echo.
echo 1:执行删除指定文件及空目录的脚本
echo 2:执行删除空目录的脚本
echo 3:取消执行脚本
echo.
set num=
set /p num=请输入需要执行的操作:
echo.
if "%num%"=="1" (
echo 开始删除指定文件!
forfiles /p %srcDir% /s /m *.* /d -%daysAgo% /c "cmd /c echo 文件 @path 成功删除! && del @path"
echo.
echo 检测删除指定文件后是否有空目录!
echo.
for /f "delims=" %%a in ('dir /ad /b /s %srcDir%^|sort /r') do (
rd "%%a">nul 2>nul &&echo 目录 "%%a"成功删除!
)
echo.
@pause
)
if "%num%"=="2" (
echo 开始删除空目录!
echo.
for /f "delims=" %%a in ('dir /ad /b /s %srcDir%^|sort /r') do (
rd "%%a">nul 2>nul &&echo 目录 "%%a"成功删除!
)
echo.
@pause
)
if "%num%"=="3" (
echo 取消执行脚本!
echo.
@pause
)
使用方法如下:
- 在随意一个文件夹中新建一个空的文本文档
- 粘贴以上代码,点击另存为,最下边编码选择
ANSI
(重要!!!不然中文会乱码) - 修改后缀名
.txt
为.bat
,双击执行即可
执行效果如下:
我在别人基础上做出了一些修改,增加了一些提示,防止误操作而删除一些重要文件
三
删除文件参数解释:
/p
:指定操作的文件路径/s
:操作包含当前目录和子目录/m
:需要查找的文件,支持通配符*,这里指定为删除所有带后缀的文件/d
:用来指定日期,这里-%daysAgo%
代表从当前时间开始的前多少天/c
:运行的命令行,表示为每个文件执行的命令,需要使用双引号包住- @file:返回文件名
- @fname:返回不带扩展名的文件名
- @ext:只返回文件的扩展
- @path:返回文件的完整路径
- @relpath:返回文件的相对路径
- @isdir:如果文件类型是目录,返回 “TRUE”;如果是文件,返回 “FALSE”
- @fsize:以字节为单位返回文件大小
- @fdate:返回文件上一次修改的日期
- @ftime:返回文件上一次修改的时间
其余参数:
@pause
:执行完之后不关闭命令行,方便查看结果
终
运行脚本前请再三确认,防止误删!!!!
以上内容取自: