在批处理文件中操作时间

时间:2009-10-16 11:54:24

标签: windows scripting batch-file

我很奇怪'如果有人能够在这里帮助这个lil'批处理文件。我正在尝试检查上次成功的Windows Update是什么时候。 这是这里的代码..

@ECHO OFF
SETLOCAL
SET RegKey=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion
SET RegKey=%RegKey%\WindowsUpdate\Auto Update\Results\Install
FOR /F "skip=1 tokens=2*" %%A IN ('REG Query "%RegKey%" /v "LastSuccessTime"') DO SET LastWUpd=%%B
IF "%~1"=="" ECHO Last successful Windows Update: %LastWUpd%
PAUSE
ENDLOCAL & SET LastWUpd=%LastWUpd%
IF "%~1"=="" GOTO:EOF

这是我得到的输出:

  

上次成功的Windows Update:   2009-10-14 09:02:52

我很想知道是否有办法从现在开始计算差异?这样就可以将行改为:

  

上次成功的Windows更新是x   年x个月x天x小时x分钟   前   如果那样可能会很棒。

先谢谢你们,

Methical

1 个答案:

答案 0 :(得分:1)

我找到this article,使用命令行工具来执行日期/时间计算并帮助您解决问题。

但是,您是否可以考虑使用PowerShell完成相同的任务?我不是主题专家,但由于你可以在PS上运行.NET托管代码,你应该能够更轻松地完成这样的任务。