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

[日期时间] 删除10天之前的文件,如何更改日期格式为M/d/yyyy

请教各位大虾!下面是删除10天之前文件的代码,如何把日期格式yyyy-M-d成功更改为M/d/yyyy,谢谢!
  1. @echo off
  2. set FilePath=C:\test\
  3. set DaysAgo=10
  4. reg add "HKCU\Control Panel\International" /v sShortDate /t REG_SZ /d yyyy-M-d /f
  5. call :DateToDays %date:~0,4% %date:~5,2% %date:~8,2% PassDays
  6. set /a PassDays-=%DaysAgo%
  7. call :DaysToDate %PassDays% DstYear DstMonth DstDay
  8. set DstDate=%DstYear%-%DstMonth%-%DstDay%
  9. for /r "%FilePath%" %%a in (*.*) do (if "%%~ta" leq "%DstDate%" (if exist "%%a" (del /a /f /s /q "%%a")))
  10. :DateToDays %yy% %mm% %dd% days
  11. setlocal ENABLEEXTENSIONS
  12. set yy=%1&set mm=%2&set dd=%3
  13. if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
  14. set /a dd=100%dd%%%100,mm=100%mm%%%100
  15. set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
  16. set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
  17. endlocal&set %4=%j%&goto :eof
  18. :DaysToDate %days% yy mm dd
  19. setlocal ENABLEEXTENSIONS
  20. set /a a=%1+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
  21. set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
  22. set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
  23. (if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
  24. endlocal&set %2=%yy%&set %3=%mm%&set %4=%dd%&goto :eof
复制代码

回复 2# DAIC

目的是我这儿有的电脑不支持中文,英文倒每台机都已默认安装,M/d/yyyy是英文格式,能否在不安装中文的前提下,更改为M/d/yyyy实现同样的删除文件的功能。

TOP

回复 5# DAIC


如果不安装中文,yyyy-M-d将不能认识别

TOP

回复 8# DAIC


    谢谢指导!

TOP

来个vbs,不用动注册表,不过隐藏文件删不掉
apang 发表于 2014-12-5 20:42


目录也对,怎么10天前的文件删除不了呢?请求支持!

TOP

返回列表