Board logo

标题: [文件操作] 批处理如何根据子文件夹名字包含的年代删除文件夹? [打印本页]

作者: bfd2138    时间: 2015-9-8 15:57     标题: 批处理如何根据子文件夹名字包含的年代删除文件夹?

有这样一大堆文件夹结构,例如

abcde
   |-----abcd2000
             |---------0003
             |----------0004
                ........
   |------abcd2001
             |---------0006
             |----------0002
                ........
  |------abcd2002
             |---------0005
             |----------0002
                ........
cdefe
   |-----cdefe2000
             |---------0003
             |----------0004
                ........
   |------cdefe2001
             |---------0006
             |----------0002
                ........
  |------cdefe2002
             |---------0005
             |----------0002
                ........

现在想把第二层目录里按照年代删除,比如只删除abcd2000,abcd2001,cdefe2000,cdefe2001这样的包含2000,2001字段目录以及它下层目录,该怎么做?
作者: flyinnet9    时间: 2015-9-8 16:55

本帖最后由 flyinnet9 于 2015-9-8 17:07 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. ::设置一级文件夹
  4. set folder=D:\abcde
  5. for /f "delims=" %%a in ('dir /ad /b %folder%') do (
  6.   set str=%%a
  7.   if "!str:~-4!"=="2000" rd %folder%\!str! /s /q
  8.   if "!str:~-4!"=="2001" rd %folder%\!str! /s /q
  9. )
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2