修改日期未在msg *批处理中正确传输

时间:2012-10-23 12:34:30

标签: date batch-file

我有一个显示日期的批处理文件。日期已被修改为仅显示数字值(没有日期名称,例如:ma,tu,we,th,fr,sa,su),这是通过以下代码snipet完成的。​​

%date:~3-10%

现在只能在msg框中使用,但以下内容不起作用

MSG * %date:~3-10%

我希望我的消息框说(实际日期)01-01-2012而不是%date:~3-10%

任何人都知道解决这个问题的方法吗?

1 个答案:

答案 0 :(得分:1)

您的子串语法错误导致错误显示。它应该是:

MSG * %date:~3,10%

您有一个-,您想要,

请注意,您的代码取决于区域设置。它不适用于所有机器。

更可靠的方法是

for /f "delims=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz " %%A in ("%date%") do msg * %%A

我确信DELIMS选项可以简化,但我不知道所有可能语言实际需要哪些字符。