标题: [日期时间] 批处理如何获取当天日期指定天数之后的日期,如明天 [打印本页]
作者: 165342222 时间: 2014-4-10 22:28 标题: 批处理如何获取当天日期指定天数之后的日期,如明天
本帖最后由 pcl_test 于 2016-7-23 20:55 编辑
小弟对批处理完全不懂.但是又急需使用一个批处理.网上百度了N天都未果.只能到贵论坛求助
我想写一个批处理.修改日期 获取当前的日期,然后自动加1天,比如今天是4月10号,我运行批处理就一次自动把系统的时间改成4月11号.只要这个很简单的功能,无需任何的多余功能.求大神帮忙
作者: terse 时间: 2014-4-10 22:51
这个论坛应该有的啊 你搜索下
作者: bgst 时间: 2014-4-10 23:34
本帖最后由 bgst 于 2014-4-10 23:36 编辑
@echo off
setlocal EnableDelayedExpansion
for /f "tokens=1,2,3 delims=/ " %%i in ('date /t') do set year=%%i&set mon=%%j&set date=%%k
set /A date=!date!+1
date %year%/%mon%/%date%
我也是新手,昨天刚学会这种用法,这个代码普通情况下可以改成功,需要系统权限,月底估计修改不成功,那个要算大小月,还要算闰年什么的,对我来说还是太复杂了。
希望对你有用吧
作者: CrLf 时间: 2014-4-11 00:05
本帖最后由 CrLf 于 2014-4-11 00:06 编辑
最简单的是调用 vbs 计算日期:- @echo off
- %1 mshta vbscript:createobject("wscript.shell").run("""%~nx0"" : "^&now+1)(close)&exit
- echo 次日是:%2
- pause
复制代码
高效的纯批算法:http://bbs.bathome.net/viewthread.php?tid=16147
作者: bgst 时间: 2014-4-11 00:10
请问楼上命令的原理,或者如何学习vbs?论坛有资料吗?
作者: CrLf 时间: 2014-4-11 00:11
回复 3# bgst
楼主的要求比较简单,借 3 楼代码小改一下也可兼容月底日期:- @echo off
- setlocal EnableDelayedExpansion
- set "date="
- for /f "tokens=1,2,3 delims=/- " %%i in ("%date%") do set year=%%i&set mon=%%j&set date=%%k
- set /A date=!date!+1
- date %year%/%mon%/%date%||(
- set /a "mon+=1,year+=mon/13,mon%%=12,date=1"
- date !year!/!mon!/!date!
- )
复制代码
作者: CrLf 时间: 2014-4-11 03:47
本帖最后由 CrLf 于 2014-4-11 04:26 编辑
回复 5# bgst
是用协议调用 vbs,俗称地址栏脚本...其实这是独立于 mshta 的
mshta 是 hta 宿主,hta 么大概可以理解成本地 htm,不过权限比 htm 高
此方法由 est 大牛首创
参考:
http://bbs.bathome.net/thread-3271-1-1.html
http://bbs.bathome.net/thread-9377-1-1.html
http://bbs.bathome.net/viewthread.php?tid=11516
-----------------------------------------------------------------
说多了,论坛有 broly 自编自导自演的教程,我也是看这个入门的
http://www.bathome.net/thread-13347-1-1.html
用的过程中发现不懂就去查脚本技术手册(vbsedit 里按 F1 就出来了),那是最详细的了,也相对权威
http://bbs.bathome.net/viewthread.php?tid=1329
也可以上 w3school 自学,不过一方面讲得不是很详细,另一方面它讲的 vbs 是用在网页里的,大概是用来给 asp 打基础吧,相比之下,w3c 对 html/css/js/jquery 什么的描述倒是比较详细
http://www.w3school.com.cn/vbscript/index.asp
每个宿主都有自己的对象,这些对象是不通用的,wscript/cscript 有 WSH,mshta 有 MySampleHTA,w3school 只提浏览器的 window,不提其他两个。
作者: qzwqzw 时间: 2014-4-11 17:29
我之前一般用time来给date+1- @echo off
- echo %date% %time%
- set 当前时间=%time%
- time 23:59:59.99
- ping -n 1 -w 500 1.1 >nul
- time %当前时间%
- echo %date% %time%
复制代码
作者: 165342222 时间: 2014-4-11 18:47
本帖最后由 165342222 于 2014-4-11 18:53 编辑
回复 bgst
楼主的要求比较简单,借 3 楼代码小改一下也可兼容月底日期:
CrLf 发表于 2014-4-11 00:11
今天家里停电,现在才来回复各位,很抱歉
因为是自动的点击更改时间的批处理.月底就是个问题,用了大神的这个批处理还是无法月底自动跳到下个月,我的环境是win7的.还劳烦大神们帮下忙,不需要额外的显示时间,单纯的点击批处理就自动加一天
调用VBS曾经尝试过,瞬间CPU会百分百,所以这点很蛋疼.
4楼的可以兼容月底,但是调用的是VBS....
作者: terse 时间: 2014-4-11 18:50
上面一个也不行吗?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |