diff --git a/clean_logs.bat b/clean_logs.bat index 1630f4d..e414489 100644 --- a/clean_logs.bat +++ b/clean_logs.bat @@ -1,6 +1,12 @@ @echo off chcp 65001 >nul -setlocal +setlocal enabledelayedexpansion + +REM 设置目标目录 +set TARGET_DIR=e:\path\to\your\logs + +REM 设置日志文件路径 +set LOG_FILE=%~dp0clean_logs_history.log REM 检查管理员权限 net session >nul 2>&1 @@ -10,25 +16,41 @@ if %errorlevel% neq 0 ( exit /b 1 ) -REM 查找Python解释器 -where python >nul 2>&1 -if %errorlevel% neq 0 ( - echo 未找到Python解释器,请确保Python已安装并添加到系统PATH +REM 检查目标目录是否存在 +if not exist "%TARGET_DIR%" ( + echo 目标目录不存在:%TARGET_DIR% pause exit /b 1 ) -REM 设置脚本路径 -set SCRIPT_DIR=%~dp0 +REM 初始化变量 +set /a TOTAL_SIZE=0 +set /a FILE_COUNT=0 -REM 执行日志清理 -echo 正在清理日志文件... -"%SCRIPT_DIR%clean_logs.py" - -REM 处理执行结果 -if %errorlevel% equ 0 ( - echo 日志清理完成 -) else ( - echo 日志清理失败,错误代码:%errorlevel% +REM 清理.log文件 +for /r "%TARGET_DIR%" %%f in (*.log) do ( + set /a FILE_COUNT+=1 + for %%s in ("%%f") do set /a TOTAL_SIZE+=%%~zs + echo 删除文件:%%f >> "%LOG_FILE%" + del /f /q "%%f" ) + +REM 计算总大小(MB) +set /a TOTAL_SIZE_MB=%TOTAL_SIZE%/1048576 + +REM 记录清理结果 +echo ========================================== >> "%LOG_FILE%" +echo 清理时间:%date% %time% >> "%LOG_FILE%" +echo 删除文件数:%FILE_COUNT% >> "%LOG_FILE%" +echo 清理总大小:%TOTAL_SIZE_MB% MB >> "%LOG_FILE%" +echo ========================================== >> "%LOG_FILE%" + +REM 清理7天前的日志记录 +forfiles /p "%~dp0" /m clean_logs_history.log /d -7 /c "cmd /c del @path" + +REM 显示结果 +echo. +echo 日志清理完成! +echo 删除文件数:%FILE_COUNT% +echo 清理总大小:%TOTAL_SIZE_MB% MB pause