无忧启动论坛

标题: 批处理如何删除指定文件夹? [打印本页]

作者: zhxy9804    时间: 2017-12-2 07:40
标题: 批处理如何删除指定文件夹?
一个文件夹里面会由程序生成如下文件夹 201601,201602。。。201711,201712
如何删除之前这些文件夹而保留本月文件夹?本月是201712,之前的日期文件夹全部清除!
谢谢
作者: nttwqz    时间: 2017-12-2 12:05
本帖最后由 nttwqz 于 2017-12-2 12:16 编辑
  1. @echo off
  2. pushd %~dp0\
  3. set num=%date:~0,4%%date:~5,2%
  4. for /f "delims=" %%a in ('dir /ad /b') do if not %%a==%num% rd /s /q %%a
  5. pause
复制代码


文件夹新建部分,用于测试,新建200001~202012之间的文件夹

  1. @echo off
  2. pushd %~dp0\
  3. for /l %%a in (2000 1 2020) do for /l %%b in (1 1 12) do if %%b lss 10 (md %%a0%%b) else md %%a%%b
  4. pause
复制代码



如果存在本月以后的文件夹也会删除,下面的不会删除,只会删除本月以前的

  1. @echo off
  2. pushd %~dp0\
  3. set num=%date:~0,4%%date:~5,2%
  4. for /f "delims=" %%a in ('dir /ad /b') do if %%a lss %num% rd /s /q %%a
  5. pause
复制代码

作者: 窄口牛    时间: 2017-12-2 12:21
最好保留两月,避免月底空窗期。
作者: ai20110304    时间: 2017-12-2 16:58
本帖最后由 ai20110304 于 2017-12-2 17:16 编辑


@echo off && setlocal enabledelayedexpansion

pushd %~dp0\


::set num=%date:~0,4%%date:~5,2%
set year=%date:~0,4%
set mon=%date:~5,2%
if %mon% EQU 1 set /a aY=%year%-1 && set /a aM=12
set /a mon-=1

for /f "delims=" %%a in ('dir /ad /b') do (
if not defined aM (if %%a LSS %year%%mon% rd /s /q %%a)
if !aY! LSS %year% if %%a LSS !aY!!aM! rd /s /q %%a)

pause
作者: ai20110304    时间: 2017-12-2 17:17
窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

这个测试了下,保留两个月
作者: ai20110304    时间: 2017-12-2 17:17
窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

这个测试了下,保留两个月
作者: ai20110304    时间: 2017-12-2 17:17
窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

这个测试了下,保留两个月
作者: ai20110304    时间: 2017-12-2 17:17
窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

这个测试了下,保留两个月
作者: ai20110304    时间: 2017-12-2 17:17
窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

这个测试了下,保留两个月
作者: ai20110304    时间: 2017-12-2 17:17
窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

这个测试了下,保留两个月
作者: ai20110304    时间: 2017-12-2 17:17
窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

这个测试了下,保留两个月
作者: ai20110304    时间: 2017-12-2 17:18
窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

这个测试了下,保留两个月
作者: ai20110304    时间: 2017-12-2 17:18
窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

这个测试了下,保留两个月
作者: ai20110304    时间: 2017-12-2 17:18
窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

这个测试了下,保留两个月
作者: ai20110304    时间: 2017-12-2 17:18
窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

这个测试了下,保留两个月




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3