帮我写一个批处理文件(bat文件),实现删除d:\My 文件夹下30天前生成的文件
时间: 2024-10-26 22:16:10 浏览: 8
当然可以。下面是一个简单的批处理脚本(.bat文件),它将删除D:\My 文件夹下30天前创建的文件。请注意,在实际使用之前,请确保备份重要数据,因为这个操作不可逆。
```batch
@echo off
setlocal enabledelayedexpansion
REM 定义日期变量,30天前的日期
set /A dateDiff=30
set /a today=%date:~10,4%-%date:~7,2%-%date:~4,2%
set /A thirtyDaysAgo=!today!-(!!dateDiff!!)
REM 设置目标路径
set folderPath=D:\My\
REM 获取当前目录下的所有文件,按时间排序
for /F "delims=" %%f in ('dir /B /OD /A:-D ^| findstr /I ".*">nul') do (
REM 检查文件是否在30天内创建
set fileDate=%%f
for /F "tokens=2 delims==" %%i in (' attrib +^h "%folderPath%%%fileDate%" ^| find "="') do set fileDate=%%i
if "!fileDate!" LSS %thirtyDaysAgo% (
echo 删除文件: !folderPath!%%f
DEL "%folderPath%%%fileDate%"
)
)
echo 操作完成。
pause
```
阅读全文