Board logo

标题: [文本处理] 批处理怎么获得前一天的日期? [打印本页]

作者: hucuibai    时间: 2010-10-18 11:15     标题: 批处理怎么获得前一天的日期?

本帖最后由 pcl_test 于 2016-7-18 15:48 编辑

%date%是时间,如果要输出前一天的时间,然后再提取,要怎么写啊,高手帮忙!!

[ 本帖最后由 hucuibai 于 2010-10-18 12:37 编辑 ]
作者: Batcher    时间: 2010-10-18 12:53

批处理获取指定天数之前的日期
http://bbs.bathome.net/thread-3330-1-1.html
作者: leap    时间: 2010-10-18 13:12

  1. @echo off
  2. set/p a=输入前几天日期:
  3. >1.js echo var d=new Date();d.setTime(d.getTime()-%a%*24*3600*1000);
  4. >>1.js echo var s=''+d.getYear()+'.'+(d.getMonth()+1)+'.'+d.getDate()+''+d.getHours()+':'+d.getMinutes()+':'+d.getSeconds()+d.getWeek();
  5. >>1.js echo WScript.echo(s);
  6. for /f "skip=3" %%i in ('cscript 1.js') do echo %%i
  7. DEL 1.js
  8. pause
复制代码

作者: hucuibai    时间: 2010-10-18 15:15     标题: 回复 3楼 的帖子

这个太复杂了,有没有简单一点的啊?
作者: Batcher    时间: 2010-10-18 22:24     标题: 回复 4楼 的帖子

什么样的算简单?
作者: hucuibai    时间: 2010-10-19 09:28

这个还要调用别的文件,太麻烦了,搞一大堆!!我是新手,搞不太懂!!
作者: Batcher    时间: 2010-10-19 13:58     标题: 回复 6楼 的帖子

2楼有不用调其它文件的方法。
一大堆是必须的。
搞不懂没关系,慢慢学,谁都不是生下来就会。
作者: pcl_test    时间: 2016-7-18 15:55

  1. @echo off
  2. set d=-1
  3. for /f "tokens=3" %%a in ('reg query "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate') do set RegDateOld=%%a
  4. reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d yyyy-MM-dd /f >nul
  5. for /f %%a in ('mshta VBScript:Execute("NewDate=date()+(%d%):FmtDate=right(year(NewDate),4)&right(""0""&month(NewDate),2)&right(""0""&day(NewDate),2):CreateObject(""Scripting.FileSystemObject"").GetStandardStream(1).Write FmtDate:close"^)') do set dstDate=%%a
  6. echo;%dstDate%
  7. reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d %RegDateOld% /f >nul
  8. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2