标题: [文件操作] 批处理如何根据时间段取值? [打印本页]
作者: 逍遥凌虚 时间: 2015-12-4 20:33 标题: 批处理如何根据时间段取值?
问题如下:在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 00:37
本帖最后由 pcl_test 于 2015-12-5 01:11 编辑
- @echo off
- set 时=08
- set 日=-1
- set h=%time:~,2%
- if %h% geq 0 if %h% leq 8 set 时=20
- if %h% geq 20 if %h% leq 23 set 日=0&set 时=20
- 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
- ::日期时间无误,去掉echo;即可复制
- echo;xcopy "d:\aqi\%日期%%时%\*" "e:\aqi\%日期%%时%\" /s /y
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |