找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 36429|回复: 13

[日期时间] 批处理如何调用mshta获取当前系统日期?

[复制链接]
发表于 2013-6-20 22:01:49 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-7-21 22:18 编辑

希望得到的格式是:
yyyymmdd
发表于 2013-6-20 22:54:11 | 显示全部楼层
这样可以不?
  1. @echo off
  2. %1set "D=Year(Date)^&Right("0"^&Month(Date),2)^&Right("0"^&Day(Date),2)"
  3. %1mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 :: "^&%D%)(Window.Close)&goto :eof

  4. echo,%2
  5. pause
复制代码
发表于 2013-6-20 23:45:31 | 显示全部楼层

  1. @echo off
  2. %1mshta vbscript:createobject("wscript.shell").run("%~fs0 : "^&year(date)*10000+Month(Date)*100+Day(Date))(close)&exit
  3. echo %2
  4. pause>nul
复制代码
 楼主| 发表于 2013-6-21 13:14:37 | 显示全部楼层
回复 2# apang


    这样会新启动一个cmd进程吧,有没有类似于start /b这样的方法?
 楼主| 发表于 2013-6-21 13:15:54 | 显示全部楼层
回复 3# terse


    有没有不启动新cmd进程的方法?
发表于 2013-6-21 14:28:01 | 显示全部楼层
回复 4# Python


    如果用fso将结果写入一个文本文件,不会有两个cmd进程。但不明白这样做有什么用啊?
  1. @echo off
  2. set "D=Year(Date)^&Right("0"^&Month(Date),2)^&Right("0"^&Day(Date),2)"
  3. mshta vbscript:CreateObject("Scripting.FileSystemObject").CreateTextFile("a.txt",True).Write(%D%)(Window.Close)
复制代码
发表于 2013-6-21 14:35:43 | 显示全部楼层
当前系统日期直接在cmd中获取不行?
发表于 2013-6-21 15:10:58 | 显示全部楼层
回复 7# batman


    估计楼主是用来计算日期差什么的吧?
 楼主| 发表于 2013-6-21 17:53:51 | 显示全部楼层
回复 7# batman


    主要是担心不同的系统里面日期格式不一样
 楼主| 发表于 2013-6-22 08:43:29 | 显示全部楼层
回复 6# apang


    多谢。在实际的使用中要进行计算、比较、进一步处理等。肯定不是只显示一下,那没有任何意义嘛
发表于 2013-6-22 10:34:07 | 显示全部楼层
一定要mshta获取吗
  1. @echo off
  2. for /f %%i in ('WMIC OS GET LocalDateTime') do set str=%%i
  3. echo %str:~,8%
  4. pause
复制代码
 楼主| 发表于 2013-6-23 08:38:34 | 显示全部楼层
回复 11# terse


    受限用户(没有管理员权限)是不能运行WMIC的,首次执行的时候它不是要安装吗。所以不太通用。
发表于 2013-7-19 11:40:43 | 显示全部楼层
大神们,有没有在获取系统当前时间的同时与北京时间做比较,将时间不准的信息拉出来。
发表于 2016-7-21 22:17:49 | 显示全部楼层
  1. for /f %%a in ('mshta VBScript:Execute("FmtDate=right(year(now),4)&right(""0""&month(now),2)&right(""0""&day(now),2):CreateObject(""Scripting.FileSystemObject"").GetStandardStream(1).Write FmtDate:close"^)') do echo;%%a
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 10:26 , Processed in 0.034539 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表