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

[日期时间] 求助代码查错:根据批处理执行时时间段的不同生成不同文件夹?

本帖最后由 pcl_test 于 2016-5-22 17:43 编辑

比如2016/05/22的15点执行该程序,生成目录2016052200;而2016/05/22的05点执行该程序,生成目录2016052112

但是代码中if语句不起作用,总到else中去,请专家帮忙调试,多谢多谢
  1. rem 记得改系统的日期格式为yyyy/mm/dd,日期改为HH:mm
  2. rem 每天12点前,创建目录为“前一天12”,每天12点之后,创建目录为“当天00”
  3. rem 你可以把计算机的小时数分别设为05和15测试一下。
  4. rem 逻辑应该没问题,现在问题是if判断不起作用,总执行到else中
  5. set tt=%time:~0,2%
  6. if %tt% gtr 12 set datedir=%date:~0,4%%date:~5,2%%date:~8,2%00 else (
  7. pause
  8. set DaysAgo=1
  9. >"%temp%\MyDate.vbs" echo LastDate=date()-%DaysAgo%
  10. >>"%temp%\MyDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
  11. >>"%temp%\MyDate.vbs" echo wscript.echo FmtDate
  12. for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do (
  13.     set DstDate=%%a
  14. )
  15. set datedir=%date:~0,4%%date:~5,2%%DstDate:~6,2%12
  16. )
  17. mkdir %datedir%
  18. cd %datedir%
复制代码

在线期盼中

TOP

本帖最后由 ivor 于 2016-5-22 17:38 编辑
  1. powershell -command "& {(get-date).AddHours(-15).tostring(\"yyyyMMddHH\") | %{md $_}}"
复制代码
新建文件夹,在当前的时间减少15个小时
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

  1. @echo off
  2. set 时=12
  3. set 日=-1
  4. set h=%time:~,2%
  5. if %h% geq 12 if %h% leq 23 set 日=0&set 时=00
  6. for /f %%a in ('mshta VBScript:Execute("NewDate=date()+(%日%):FmtDate=year(NewDate)&right(""0""&month(NewDate),2)&right(""0""&day(NewDate),2):CreateObject(""Scripting.FileSystemObject"").GetStandardStream(1).Write FmtDate"^)(close^)') do set 日期=%%a
  7. md %日期%%时%
  8. pause
复制代码

TOP

回复 4# pcl_test


   多谢多谢!!牛人!

TOP

返回列表