【问题标题】:Issue with %date% and %time% on the command line命令行上的 %date% 和 %time% 问题
【发布时间】:2014-06-16 10:50:50
【问题描述】:

我得到这个命令来生成一个日志文件,其中包含名称中的日期。

echo %time%;stuff done >> C:\myfile_%date%.log

输出: 系统找不到指定的路径。

如果我确实删除了系统变量,一切都很好。 我试图添加“”和``和'',到目前为止还没有。

欢迎提供一些帮助 :) 谢谢。

【问题讨论】:

  • 仅删除 %date% 时它会中断吗?
  • 一切都很好。这意味着该文件是正确创建的,其中包含我的回声值。如果我运行: echo %date% 我得到了正确的日期。
  • %date% 变量中有空格,我确定这会导致一些问题。运行命令时得到“myfile_Mon”
  • 这是我的输出:C:\>echo %date% 16/06/2014 C:\>echo %time%;stuff done >> C:\myfile_%date%.log 系统找不到指定的路径。

标签: windows variables cmd


【解决方案1】:

您需要生成一个不含空格的日期。 %date% 输出 Mon 16/06/2014 当作为文件名传递时会导致创建问题。如果您对每个日期元素进行子串化并使用以下内容构建自定义文件名:

echo %time%;stuff done >> C:\myfile_%date:~10%%date:~4,2%%date:~7,2%%time:~0,2%%time:~3,2%.log

您的命令将起作用。结果我得到的文件名是:

myfile_201416062105.log

它作为一个向后的时间戳也将使它们在生成后更容易排序和查找。

【讨论】:

  • 谢谢!我已将日期格式设置为脚本的一部分;现在工作得很好。真的很好:)谢谢。设置 mydate=%date:~6,4%%date:~3,2%%date:~0,2% echo %mydate% echo %time%;stuff done >> C:\myfile_%mydate
猜你喜欢
  • 2014-08-22
  • 2011-08-23
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 2021-05-26
  • 2010-09-20
相关资源
最近更新 更多