1

我有一个包含一堆文件夹和 .zip 文件的备份文件夹。

我基本上想创建一个批处理脚本(每晚运行),删除 X 天或更早之前创建的所有文件夹(及其内容)。

我尝试了以下 FORFILES 命令,但它只删除文件而不是文件夹:

@echo off
:: set folder path
set dump_path=C:\Users\sw\Desktop\Test

:: set min age of files and folders to delete
set max_days=1

:: remove files from %dump_path%
forfiles -p %dump_path% -m *.* -d -%max_days% -c "cmd  /c del /q @path"

:: remove sub directories from %dump_path%
forfiles -p %dump_path% -d -%max_days% -c "cmd /c IF @isdir == TRUE rd /S /Q @path"

期待您的帮助。

史蒂文

4

1 回答 1

1

请参阅此示例,使用 ROBOCOPY将超过 7 天的文件移动到垃圾文件夹,然后将其删除。

MD %temp%\trash
ROBOCOPY %src% %temp%\trash /MOVE /E /MINAGE:7
RD %temp%\trash /s

编辑添加/E到递归目录的开关

于 2012-12-11T12:26:06.493 回答