我在用wmic
以获得时间。我已将其范围缩小到一 (1) 行 .bat 文件。我从 stackoverflow 学到了有关管道 stdin 和 stdout 以避免挂起的知识。
C:> type t.bat
TYPE NUL | wmic os get localdatetime | findstr .
看来如果我同时运行wmic,偶尔会失败。如果我创建两个 cmd shell 并在每个 shell 中运行以下命令,则会出现类似于下面的错误。
for /l %i in (0,1,100) do (call t.bat)
...
C:> TYPE NUL | wmic os get localdatetime | findstr .
Win32 Error: The process cannot access the file because it is being used by another process.
在 Vista、7 等操作系统上似乎不会发生这种情况。我只在 Windows XP SP3 和 Windows Server 2003 SP2 上看到过这种情况。
它所说的“文件”可能是TempWmicBatchFile.bat
,但我不确定。我还没有看到此文件出现在 Windows Vista 或 Windows 7 计算机上。
还有其他方法获取当前时间吗?这%DATE%
and %TIME%
变量按照用户选择的表示形式进行格式化,因此我无法使用它。有什么建议么?
我从未听说过您报告的问题。
你可以尝试获取时间戳.bat http://www.dostips.com/forum/viewtopic.php?p=27422- 混合 JScript/批处理实用程序,提供强大的、独立于区域设置的日期和时间计算和格式化。该实用程序是使用本机 Windows 功能的纯脚本。
假设您的当前目录中有 getTimeStamp.bat,或者更好的是,在您的路径中的某个位置,那么以下命令将创建一个名为 currentTimeStamp 的变量,其中包含 WMIC 格式的当前日期和时间。
call getTimeStamp -f {yyyy}{mm}{dd}{hh}{nn}{ss}.{fff}000{zzzz} -r currentTimeStamp
有很多可用的格式,以及应用日期和时间偏移的能力等。完整的文档嵌入在脚本中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)