`
foolraty
  • 浏览: 400112 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
文章分类
社区版块
存档分类
最新评论

bat批处理删除指定天数日期之前的文件夹(转)

阅读更多

 批处理删除指定天数日期之前的文件夹
2009-04-05 22:05:57
@echo off
::演示:删除指定路径下指定天数之前(以文件夹的最后修改日期为准)的文件夹。
::如果演示结果无误,把rd前面的echo去掉,即可实现真正删除。
::本例调用了临时VBS代码进行日期计算
::本例为兼容不同的日期格式,调用reg命令(XP系统自带)统一设置日期格式,
::处理完毕之后再把日期格式恢复成原来的状态。
rem 指定待删除文件夹的存放路径
set SrcDir=C:\Test
rem 指定天数
set DaysAgo=1
for /f "skip=4 delims= " %%a in ('reg query "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate') do (
  set "RegDateOld=%%a"
)
set RegDateOld=%RegDateOld:~-8%
reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d yyyy-M-d /f>nul
>"%temp%\DstDate.vbs" echo LastDate=date()-%DaysAgo%
>>"%temp%\DstDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
>>"%temp%\DstDate.vbs" echo wscript.echo FmtDate
for /f %%a in ('cscript /nologo "%temp%\DstDate.vbs"') do (
  set "DstDate=%%a"
)
set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%
for /d  %%a in ("%SrcDir%\*.*") do (
  if "%%~ta" leq "%DstDate%" (
    if exist "%%a\"
      echo rd /s /q "%%a"
    )
  )
)
reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d %RegDateOld% /f>nul
pause

分享到:
评论
1 楼 zoutuo 2011-10-24  
命令语法不正确。

相关推荐

    删除指定日期文件的批处理脚本

    演示:删除指定路径下指定天数之前(以文件名中包含的日期字符串为准)的文件。如果演示结果无误,把del前面的echo去掉,即可实现真正删除。

    forfiles 批处理删除文件

    ### forfiles 批处理删除文件知识点详解 #### 一、forfiles 命令概述 `forfiles` 是 Windows 操作系统内置的一个强大工具,它允许用户基于文件的最后修改日期来执行各种命令,比如复制、移动或者删除文件等操作。...

    windows备份文件夹及子文件bat脚本.rar

    "windows备份文件夹及子文件bat脚本.rar"这个压缩包包含了一个专门设计用来备份Windows服务器上指定文件夹及其所有子文件夹和文件的BAT脚本。这种脚本能够帮助系统管理员高效地执行定期备份,确保数据的安全性并保留...

    删除特定天数外的超时文件

    总的来说,通过编写批处理脚本并结合任务计划程序,我们可以自动化删除特定天数外的超时文件,这在系统维护和数据管理中具有重要意义。务必谨慎操作,确保在执行任何删除操作之前备份重要数据。

    windows自动删除多少天之前的文件

    根据提供的信息,我们可以深入探讨如何在Windows系统中利用批处理脚本和`forfiles`命令来自动删除指定天数之前的文件。这对于维护系统的磁盘空间、确保备份文件的有效性非常有帮助。 ### 核心知识点解析 #### 1. `...

    清理window电脑、服务器日志bat脚本

    这个脚本首先定义了日志路径和要删除的天数,然后计算出指定日期前的日期,并使用`FORFILES`命令删除所有符合日期条件的.log文件。 2. **删除n天以前的文件夹脚本**: 对于文件夹的清理,可以使用`WMIC`命令,...

    删除以前的备份文件夹

    本文将详细探讨如何使用批处理(BAT)脚本来删除指定日期之前的备份文件夹,以"删除D盘数据库备份gw30天前的备份--只能用于windows2003以上系统份"为例,讲解这一过程。 首先,我们需要了解什么是批处理脚本。...

    Windows下使用批处理文件.bat删除旧文件

    ### Windows下使用批处理文件.bat删除旧文件 在日常的计算机维护工作中,清理无用的旧文件是一项重要的任务。这不仅能够释放磁盘空间,还能提高系统的运行效率。本文将详细介绍如何通过创建批处理文件(.bat)来...

    bat使用forfiles自动批量删除过期文件

    - `/d[{+|-}][{MM/DD/YYYY|DD}]`: 选择日期大于或等于 (+), 或者小于或等于 (-) 指定日期的文件。`MM/DD/YYYY` 表示具体日期,`DD` 表示相对于今天的天数,正数表示未来天数,负数表示过去天数。 #### 三、forfiles...

    PrimoCache3.0.2重置教程

    - 使用管理员权限运行`FancyPoC`文件夹下的相应系统版本的`FancyPoC.bat`批处理文件。 - 重启计算机以完成重置过程。 通过以上步骤,您可以成功地将PrimoCache3.0.2的使用天数重置为60天。需要注意的是,在操作过程...

    在WINDOWS定时自动删除文件.pdf

    下面是如何使用`forfiles.exe`删除指定文件夹中超过一定天数的旧文件: 1. **创建批处理文件**: - 在`forfiles.exe`所在的系统文件夹(通常是`C:\Windows\System32\`)或者任何其他位置创建一个批处理文件(例如`...

    DOS与windows脚本应用

    首先,"camera.bat"可能是一个批处理文件,用于创建以当前日期命名的文件夹并备份特定文件。在DOS或Windows的批处理脚本中,我们可以使用`MD`命令创建目录,`DATE`命令获取当前日期,然后结合字符串操作将日期转化为...

    基于STM32F103C8T6的万年历范例程序(不带操作系统)

    例如,"USER"文件夹中的源码文件可能是实现上述功能的具体实现,而"keilkilll.bat"可能是用于编译和烧录程序的批处理文件,使用Keil IDE。 总结来说,基于STM32F103C8T6的万年历程序设计涵盖了嵌入式开发的多个重要...

    python-opencv-摄像头实时监控

    最后,提到了一个**关闭应用脚本**(`关闭应用.bat`)。在Windows环境下,你可以创建一个批处理文件,调用Python脚本来关闭程序。例如,批处理文件内容可以是: ```batch @echo off python cameraCapture.py ``` ...

Global site tag (gtag.js) - Google Analytics