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

[文件操作] 批处理如何根据时间段取值?

问题如下:在d:\aqi\ 目录下有一系列2015110108,2015110120, 2015110208,2015110220这样的文件夹,每天只有08时和20时两个,当我在11月5日07时,需要打开2015110420这个文件夹,把其中的文件复制到e:\aqi\ 下,此时需要读取电脑的时间,并进行判断,即20时到08之间的所有时间都写成20时,这样就可以得到时间为2015110420,将这个时间写到路径里,就是d:\aqi\2015110420,然后在e:\aqi\下也创建一个20151110420的文件夹,将文件复制进去,如何实现这样的判断和输出?请教各位大神!

本帖最后由 pcl_test 于 2015-12-5 01:11 编辑
  1. @echo off
  2. set 时=08
  3. set 日=-1
  4. set h=%time:~,2%
  5. if %h% geq 0 if %h% leq 8 set 时=20
  6. if %h% geq 20 if %h% leq 23 set 日=0&set 时=20
  7. 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
  8. ::日期时间无误,去掉echo;即可复制
  9. echo;xcopy "d:\aqi\%日期%%时%\*" "e:\aqi\%日期%%时%\" /s /y
  10. pause
复制代码

TOP

返回列表