标题: [日期时间] [已解决]批处理如何根据时间生成日期+白天夜晚的文件夹? [打印本页]
作者: okobe0 时间: 2015-6-18 13:00 标题: [已解决]批处理如何根据时间生成日期+白天夜晚的文件夹?
本帖最后由 okobe0 于 2015-7-10 19:22 编辑
怎么才能以每天的8点和18点为界,生成以白天和夜晚为名的两个文件夹?
比如今天是6月18日,根据需求要生成两个文件夹,6月18日8点到18点的生成一个名为“6月18日白天”;6月18日的18点到6月19日的八点,生成一个名为“6月18日晚上”的文件夹。
比如现在是6月18日的22点,或者是6月19日的3点,这时候执行批处理,就能生成命名为“6月18日晚上”的文件夹。
我记得以前听一位老兄说过,因为要跨越0点,生成文件夹的代码一次不好实现,那也可以以18-0点,0-8点分两次实现。
现在还一个问题,如果时间上存在重合,比如8点这个分界点,怎么处理呢?
作者: gawk 时间: 2015-6-18 13:10
如果时间上存在重合,比如8点这个分界点,怎么处理呢?
大于等于8认为是当天
小于8认为是昨天
作者: pcl_test 时间: 2015-6-18 14:39
bat+vbs,直接保存为批处理文件即可- '&cls&@echo off&for /f %%a in ('cscript -nologo -e:vbscript %~fs0') do md %%a&pause&exit /b
- h=hour(now)
- d=date()
- if h>=0 and h<8 then
- d=date()-1
- z="晚上"
- elseif h>=8 and h<18 then
- z="白天"
- else
- z="晚上"
- end if
- wscript.echo month(d)&"月"&day(d)&"日"&z
复制代码
作者: okobe0 时间: 2015-6-18 21:19
回复 3# pcl_test
哥,你牛啊,完美实现我的想法。不过我新手,有些地方实现不了。比如,我想把文件拷贝到这个目录下,用你的代码可以实现生成文件夹,然后我就用代码把文件拷贝到这个目录,第一次拷贝没问题,第二次因为有之前已经生成了文件夹,代码会提示已经有同名文件夹。我想在复制之前加一条if检测代码,如果有这个文件夹直接复制,如果没有就创建,可是我不懂VB,调试了好久,if语句都加不上,显示语法错误,大哥帮忙解决一下好吗?
作者: pcl_test 时间: 2015-6-18 21:47
本帖最后由 pcl_test 于 2015-6-21 19:40 编辑
回复 4# okobe0
改为- '&cls&@echo off
- '&cls&for /f %%a in ('cscript -nologo -e:vbscript %~fs0') do set "folder=%%a"&if not exist "E:\%%a" md "E:\%%a"
- '&cls&for /f "delims=" %%i in ('dir /ad /b I:\') do xcopy "I:\%%i" "E:\%folder%\%%i\" /s
- '&cls&pause&exit /b
复制代码
作者: okobe0 时间: 2015-6-19 17:55
本帖最后由 okobe0 于 2015-6-19 17:56 编辑
回复 5# pcl_test
因为要复制根目录下的文件夹,任意名称的,下面这句话怎样加进你之前写的代码中去呢?
for /f "delims=" %%i in ('"dir /ad /b I:"') do copy "I:\%%i" "E:\%%a\"
'&cls&@echo off
'&cls&for /f %%a in ('cscript -nologo -e:vbscript %~fs0') do (if not exist "E:\%%a\" md "E:\%%a\"© "I:\%%i" "E:\%%a\")
h=hour(now)
d=date()
if h>=0 and h<8 then
d=date()-1
z="晚上"
elseif h>=8 and h<18 then
z="白天"
else
z="晚上"
end if
wscript.echo month(d)&"月"&day(d)&"日"&z
作者: pcl_test 时间: 2015-6-21 19:38
回复 6# okobe0
5楼已改
作者: okobe0 时间: 2015-7-10 19:22
回复 7# pcl_test
谢谢你的回复,完美。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |