删除指定目录文件下日期超过30天的所有子文件夹的bat脚本
时间: 2023-08-21 19:07:56 浏览: 179
您好,这是一个删除指定目录文件下日期超过30天的所有子文件夹的bat脚本:
```
@echo off
setlocal enableextensions
set "rootFolder=C:\example\folder"
set "cutoffDate=%date%"
for /f "tokens=1-3 delims=/ " %%a in ("%cutoffDate%") do (
set /a "day=10000*%%c+100*%%b+%%a"
set /a "day-=30"
set "cutoffDate=%%c-%%b-%%a"
)
for /d %%d in ("%rootFolder%\*") do (
for /f "tokens=1-3 delims=/ " %%a in ("%%~td") do (
set /a "day=10000*%%c+100*%%b+%%a"
if !day! lss %day% (
rmdir /s /q "%%~fd"
)
)
)
endlocal
```
请将 `rootFolder` 变量替换为您要删除子文件夹的目录。脚本会计算出当前日期减去30天的日期,并删除所有子文件夹中最后修改日期早于此日期的文件夹。
相关问题
我要删除指定目录文件下的一些文件通过文件名,文件名称就是日期对应年月日,我要删除的所有子文件夹文件名是一个月之前的的bat脚本
好的,以下是一个删除指定目录下文件名为日期对应年月日的所有子文件夹的bat脚本:
```batch
@echo off
setlocal enableextensions
set "rootFolder=C:\example\folder"
set "cutoffDate=%date%"
for /f "tokens=1-3 delims=/ " %%a in ("%cutoffDate%") do (
set /a "day=10000*%%c+100*%%b+%%a"
set /a "day-=30"
set "cutoffDate=%%c-%%b-%%a"
)
for /d %%d in ("%rootFolder%\*") do (
for /r "%%~fd" %%f in (*%cutoffDate%*) do (
del "%%~ff"
)
)
endlocal
```
请将 `rootFolder` 变量替换为您要删除子文件夹中的文件的目录。脚本会计算出当前日期减去30天的日期,并删除所有子文件夹中文件名包含此日期的文件。
请注意,此脚本会删除所有文件名包含指定日期的文件,而不仅仅是文件名为指定日期的文件。如果您只想删除文件名为指定日期的文件,请将 `%%f` 替换为 `%%~nxf`。
用bat脚本获取前一天日期并创建文件夹
你好,我可以回答这个问题。您可以使用以下代码来获取前一天的日期并创建文件夹:
```
@echo off
setlocal enabledelayedexpansion
REM 获取前一天的日期
set /a day=%date:~8,2%-1
set /a month=%date:~5,2%
set /a year=%date:~0,4%
if %day% equ 0 (
set /a month=%month%-1
if %month% equ 0 (
set /a year=%year%-1
set month=12
)
if %month% equ 4 (
set /a day=30
) else if %month% equ 6 (
set /a day=30
) else if %month% equ 9 (
set /a day=30
) else if %month% equ 11 (
set /a day=30
) else if %month% equ 2 (
if %year% equ 0 (
set /a day=29
) else if %year% mod 4 equ 0 and %year% mod 100 neq 0 or %year% mod 400 equ 0 (
set /a day=29
) else (
set /a day=28
)
) else (
set /a day=31
)
)
if %month% lss 10 set month=0%month%
if %day% lss 10 set day=0%day%
set yesterday=%year%%month%%day%
REM 创建文件夹
mkdir %yesterday%
```
这段代码会获取当前日期的前一天日期,并将其格式化为YYYYMMDD的形式,然后创建一个以该日期命名的文件夹。
阅读全文