variables - 批处理脚本日期到变量中

标签 variables batch-file

for /F "tokens=1-4 delims=/ " %%i in ('date /t') do (
set Day=%%k
set Month=%%j
set Year=%%l
set DATE=%%k/%%j/%%l)

我试图在批处理脚本中将日期放入上述变量中​​,但目前日期显示为
2011/04/

对于如何解决这个问题,有任何的建议吗?

最佳答案

您没有得到预期的结果,因为 %DATE%使用“短日期格式”的 Windows 设置返回当前日期。此设置是完全(无限)可定制的。

一位用户可以将其系统配置为将短日期显示为 Fri040811;而另一个用户(即使在同一系统中)可能会选择 08/04/2011。对于 BAT 程序员来说,这是一场彻头彻尾的噩梦。

一种可能的解决方案是使用 WMIC , 反而。 WMIC 是 WMI 的 WMI 命令行界面。 WMI Windows Management Instrumentation 是 http://en.wikipedia.org/wiki/Windows_Management_Instrumentation

WMIC Path Win32_LocalTime Get Day,Hour,Minute,Month,Second,Year /Format:table

以方便的方式返回日期以直接使用 FOR 解析它.

完成解析并将各个部分放在一起
 FOR /F "skip=1 tokens=1-6" %%A IN ('WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') DO (
    SET /A TODAY=%%F*10000+%%D*100+%%A
 )

关于variables - 批处理脚本日期到变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5594121/

相关文章:

mysql : Select "variable" as "variable2" from table

python - 检查字典中是否存在嵌套键的优雅方法?

batch-file - xcopy 循环复制 .txt 文件

powershell - Inno Setup - 以变量作为参数的编译后批处理文件 - 参数未转换为变量值

linux - 如何使用批处理文件在 putty 窗口上执行 cd 命令,批处理文件又调用命令的文本文件

vb.net - 在 VB.NET 表单之间传递数据

bash - 检查路径上是否有空格的远程服务器上存在文件

javascript - 为什么可以将 'module.exports' 作为 'exports' 访问,但不能使用 'module.id' 访问?

batch-file - 使用 ENABLEDELAYEDEXPANSION

timeout - 批处理文件有超时吗?