批处理文件删除子目录中的文件夹,保留最新的文件夹

时间:2013-11-27 08:22:10

标签: batch-file

我想删除前几天备份文件夹,文件夹必须有一些文件。 (我有目录结构,如:d:/ backup / pc-1 / day1 d:/ backup / pc-1 / day2 d:/ backup / pc-2 / day1 d:/ backup / pc-2 / day2删除后将... d:/ backup / pc-1 / day2 d:/ backup / pc-2 / day2)

请帮我解决以下问题......


我有目录结构,如:

d:/backup/pc-1/day1
d:/backup/pc-1/day2
d:/backup/pc-2/day1
d:/backup/pc-2/day2

删除后

将是......

d:/backup/pc-1/day2
d:/backup/pc-2/day2

谢谢

2 个答案:

答案 0 :(得分:0)

@echo off
cd "c:\some_dir"
for /f "skip=1 delims=" %%f in  ('dir /b /ad /o-d /tc ') do (
  rd /s /q "%%~dpfnsf"
)

? (skip参数控制删除多少目录)(dir /b /ad /o-d /tc按创建日期按相反顺序对目录进行排序)

答案 1 :(得分:0)

按字母顺序排序,day2> day1

for /d %%d in (d:\backup\*) do for /f "skip=1delims=" %%a in ('dir /b /ad /o-n "%%~d\*" 2^>nul') do echo rd /s /q "%%~d\%%~a"

删除echo以使其正常工作。