[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 pcl_test 于 2016-7-21 22:18 编辑

希望得到的格式是:
yyyymmdd

这样可以不?
  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
复制代码

TOP

  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
复制代码

TOP

回复 2# apang


    这样会新启动一个cmd进程吧,有没有类似于start /b这样的方法?

TOP

回复 3# terse


    有没有不启动新cmd进程的方法?

TOP

回复 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)
复制代码

TOP

当前系统日期直接在cmd中获取不行?
***共同提高***

TOP

回复 7# batman


    估计楼主是用来计算日期差什么的吧?

TOP

回复 7# batman


    主要是担心不同的系统里面日期格式不一样

TOP

回复 6# apang


    多谢。在实际的使用中要进行计算、比较、进一步处理等。肯定不是只显示一下,那没有任何意义嘛

TOP

一定要mshta获取吗
  1. @echo off
  2. for /f %%i in ('WMIC OS GET LocalDateTime') do set str=%%i
  3. echo %str:~,8%
  4. pause
复制代码

TOP

回复 11# terse


    受限用户(没有管理员权限)是不能运行WMIC的,首次执行的时候它不是要安装吗。所以不太通用。

TOP

大神们,有没有在获取系统当前时间的同时与北京时间做比较,将时间不准的信息拉出来。

TOP

  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
复制代码

TOP

返回列表