批处理文件用于删除/移除 xx 天前的文件夹

批处理文件用于删除/移除 xx 天前的文件夹

我需要一个批处理文件来删除一天前的文件夹。

文件夹包含将与文件夹一起删除的内部文件

我尝试了 3 种不同的代码,但没有删除旧文件夹。

要删除的文件夹所在路径(路径中有空格):

D:\Programmi Installati\

示例文件夹名称(以 log_ 开头)

log_1
log_10-12-2019
log_2008-10000
log_222222211111

天数:1

:: Code 1

@echo off
setlocal

set target="D:\Programmi Installati\"
set days=1

for /f "usebackq delims=" %%G in (
'forfiles /p "%target%" /c "cmd /c if /i @isdir == true echo @path" /d -%days% 2^>nul'
) do rd /s /q "%%~G"

pause
endlocal & exit /b


:: Code 2

forfiles /p "D:\Programmi Installati\" /d -1 /c "cmd /c if @isdir==true rd /s /q @path"



:: Code 3

FORFILES /P "D:\Programmi Installati\" /S /C "cmd /c IF @isdir == TRUE rmdir /S @path /Q" -D -1

我感兴趣的是已经指示的代码修复或有效的新代码。

答案1

这是有效的解决方案

@echo off
forfiles /P "D:\Programmi Installati" /M "log_*" /D -1 /C "cmd /c if @isdir==TRUE echo rd /s /q @path"

此代码在 1 天后仅删除包含“log_”的文件夹。

相关内容