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

[日期时间] 批处理删除指定天数日期之前的文件夹(2023-10-08)

[复制链接]
 楼主| 发表于 2012-11-22 16:31:38 | 显示全部楼层
回复 25# 一坑坑兔一


    第几行少了括号?
发表于 2013-1-11 16:28:28 | 显示全部楼层
我这边XP测试可以用

但是放在windows2008 64位上就不行了

'cscript' is not recognized as an internal or external command, operable program or batch file

这是为什么阿,刚开始接触这个,还不懂,请指教
发表于 2013-1-11 17:14:30 | 显示全部楼层
我这边XP测试可以用

但是放在windows2008 64位上就不行了

'cscript' is not recognized as an intern ...
xksu 发表于 2013-1-11 16:28



    嘎嘎,可以了,


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

在cscript前加上路径: C:\windows\system32\
发表于 2013-1-14 10:07:14 | 显示全部楼层
如果是w2k3的系统,可以直接用forfiles命令来查找指定日期的文件,然后再删除,
如:
forfiles /P "D:\root" /s /d -7 /c "cmd /C echo y|del /f @path"
 楼主| 发表于 2013-1-14 10:42:30 | 显示全部楼层
回复 29# lovehome


    顶楼讨论的是删文件夹,不是文件
发表于 2013-2-18 14:21:34 | 显示全部楼层
我用第三个,win7系统下,也是不行啊,求指导
D:\test>批删文件夹.bat

D:\test>rem 指定待删除文件夹的存放路径

D:\test>set SrcDir=D:\test

D:\test>rem 指定天数

D:\test>set DaysAgo=1

D:\test>echo Set WshShell = WScript.CreateObject("WScript.Shell") 1>"C:\Users\ADMINI~1\AppData\Local\Temp\BackupDate.vbs"

D:\test>echo WScript.Echo WshShell.RegRead ("HKEY_CURRENT_USER\Control Panel\International\sShortDate") 1>>"C:\Users\ADMINI~1\AppData\Local\Temp\BackupDate.vbs"

D:\test>for /F %a in ('cscript /nologo "C:\Users\ADMINI~1\AppData\Local\Temp\BackupDate.vbs"') do (set "RegDateOld=%a" )

D:\test>(set "RegDateOld=yyyy-M-d" )

D:\test>echo Set WshShell = WScript.CreateObject("WScript.Shell") 1>"C:\Users\ADMINI~1\AppData\Local\Temp\UnifyDate.vbs"

D:\test>echo WshShell.RegWrite "HKEY_CURRENT_USER\Control Panel\International\sShortDate", "yyyy-M-d", "REG_SZ" 1>>"C:\Users\ADMINI~1\AppData\Local\Temp\UnifyDate.vbs"

D:\test>cscript /nologo "C:\Users\ADMINI~1\AppData\Local\Temp\UnifyDate.vbs"

D:\test>echo LastDate=date()-1 1>"C:\Users\ADMINI~1\AppData\Local\Temp\DstDate.vbs"

D:\test>echo FmtDate=right(year(LastDate),4) & right("0" & month(LastDate),2) & right("0" & day(LastDate),2) 1>>"C:\Users\ADMINI~1\AppData\Local\Temp\DstDate.vbs"

D:\test>echo wscript.echo FmtDate 1>>"C:\Users\ADMINI~1\AppData\Local\Temp\DstDate.vbs"

D:\test>for /F %a in ('cscript /nologo "C:\Users\ADMINI~1\AppData\Local\Temp\DstDate.vbs"') do (set "DstDate=%a" )

D:\test>(set "DstDate=20130217" )

D:\test>set DstDate=2013-02-17
命令语法不正确。
D:\test>        if exist "%a\"
D:\test>
发表于 2013-2-18 15:24:06 | 显示全部楼层
搞定了。。 if exist "%%a\"
这个后面少了个 (

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 感谢分享

查看全部评分

发表于 2017-11-28 02:49:48 | 显示全部楼层
本帖最后由 yhcfsr 于 2017-11-28 03:48 编辑

以前用过forfliles,又学习了
发表于 2020-11-13 11:35:53 | 显示全部楼层
这个厉害了,终于找到删除文件夹的了。
发表于 2023-10-8 17:08:21 | 显示全部楼层
这个BAT不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-16 21:44 , Processed in 0.019352 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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