zhxy9804 发表于 2017-12-2 07:40:07

批处理如何删除指定文件夹?

一个文件夹里面会由程序生成如下文件夹 201601,201602。。。201711,201712
如何删除之前这些文件夹而保留本月文件夹?本月是201712,之前的日期文件夹全部清除!
谢谢

nttwqz 发表于 2017-12-2 12:05:22

本帖最后由 nttwqz 于 2017-12-2 12:16 编辑

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

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

@echo off
pushd %~dp0\
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
pause


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

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

窄口牛 发表于 2017-12-2 12:21:02

最好保留两月,避免月底空窗期。

ai20110304 发表于 2017-12-2 16:58:26

本帖最后由 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:54

窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

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

ai20110304 发表于 2017-12-2 17:17:56

窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

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

ai20110304 发表于 2017-12-2 17:17:56

窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

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

ai20110304 发表于 2017-12-2 17:17:56

窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

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

ai20110304 发表于 2017-12-2 17:17:58

窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

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

ai20110304 发表于 2017-12-2 17:17:58

窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

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

ai20110304 发表于 2017-12-2 17:17:59

窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

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

ai20110304 发表于 2017-12-2 17:18:00

窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

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

ai20110304 发表于 2017-12-2 17:18:01

窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

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

ai20110304 发表于 2017-12-2 17:18:01

窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

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

ai20110304 发表于 2017-12-2 17:18:10

窄口牛 发表于 2017-12-2 12:21
最好保留两月,避免月底空窗期。

这个测试了下,保留两个月
页: [1]
查看完整版本: 批处理如何删除指定文件夹?