找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22896|回复: 1

[文本处理] 批处理怎样删除指定天数日期之前的文件夹?

[复制链接]
发表于 2013-8-9 14:53:42 | 显示全部楼层 |阅读模式
已经找到相关的批处理程序,不过运行一直提示语法错误。

有三个方案http://chiensq.blog.163.com/blog/static/103562820103311313371/


以方案三为例子:
【方案三】BAT + VBS

@echo off

::演示:删除指定路径下指定天数之前(以文件夹的最后修改日期为准)的文件夹。

::如果演示结果无误,把rd前面的echo去掉,即可实现真正删除。

::本例调用了临时VBS代码进行日期计算,并统一设置系统日期格式,处理完毕

::之后再把日期格式恢复成原来的状态。摆脱了对reg命令(XP系统自带)的依赖。



rem 指定待删除文件夹的存放路径

set SrcDir=C:\test

rem 指定天数

set DaysAgo=1

>"%temp%\BackupDate.vbs" echo Set WshShell = WScript.CreateObject("WScript.Shell")

>>"%temp%\BackupDate.vbs" echo WScript.Echo WshShell.RegRead ("HKEY_CURRENT_USER\Control Panel\International\sShortDate")

for /f %%a in ('cscript /nologo "%temp%\BackupDate.vbs"') do (

  set "RegDateOld=%%a"

)

>"%temp%\UnifyDate.vbs" echo Set WshShell = WScript.CreateObject("WScript.Shell")

>>"%temp%\UnifyDate.vbs" echo WshShell.RegWrite "HKEY_CURRENT_USER\Control Panel\International\sShortDate", "yyyy-M-d", "REG_SZ"

cscript /nologo "%temp%\UnifyDate.vbs"

>"%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"

    )

  )

)

>"%temp%\RecoverDate.vbs" echo Set WshShell = WScript.CreateObject("WScript.Shell")

>>"%temp%\RecoverDate.vbs" echo WshShell.RegWrite "HKEY_CURRENT_USER\Control Panel\International\sShortDate", "%RegDateOld%", "REG_SZ"

cscript /nologo "%temp%\RecoverDate.vbs"

pause


总是在运行到红色字体部分的代码的时候提示“命令语法不正确”
请各位高手帮忙看看错哪里了?
另外,红色字体的部分是不是多了一个右括号?网上有很多份代码,都这么写的,我估计第一份写错了,其他的都是复制的。
发表于 2013-8-9 21:40:29 | 显示全部楼层
你看看是不是他们抄代码的时候漏掉了什么
http://www.bathome.net/thread-3503-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 17:04 , Processed in 0.018423 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表