@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