@echo off
setlocal enabledelayedexpansion
REM ----- 配置部分 -----
set “target_dir=K:\360downloads\Software”
set “log_file=%temp%\delete_folders.log”
REM ----- 管理员权限检查 -----
NET FILE >NUL 2>&1 || (
echo 需要以管理员权限运行! >> “%log_file%”
exit /b 1
)
REM ----- 目标目录存在性检查 -----
if not exist “%target_dir%” (
echo 错误:目标目录不存在或无法访问! >> “%log_file%”
exit /b 1
)
REM ----- 获取当前日期(兼容低版本PowerShell) -----
for /f “tokens=2 delims==” %%a in (‘wmic OS Get LocalDateTime /value’) do set “datetime=%%a”
set “today=!datetime:0,4!-!datetime:4,2!-!datetime:~6,2!”
REM ----- 直接执行删除操作(无确认提示) -----
(
echo 正在删除以下文件夹: >> “%log_file%”
powershell -Command “$ErrorActionPreference = ‘Stop’; Get-ChildItem -LiteralPath ‘%target_dir%’ | Where-Object { $.PSIsContainer -and $.CreationTime.ToString(‘yyyy-MM-dd’) -ne ‘%today%’ } | ForEach-Object { Write-Output ('删除: ’ + $.FullName); Remove-Item -LiteralPath $.FullName -Recurse -Force }”
) >> “%log_file%” 2>&1
REM ----- 结果反馈 -----
if errorlevel 1 (
echo 删除过程中发生错误,请查看日志:%log_file% >> “%log_file%”
) else (
echo 操作完成!已删除所有非今日创建的文件夹 >> “%log_file%”
)
exit /b 0