【问题标题】:How to make sure date/time syntax is correct in batch script如何确保批处理脚本中的日期/时间语法正确
【发布时间】:2023-01-19 00:14:36
【问题描述】:

我在批处理文件中有一行重命名文件并附加日期和时间。

rename "C:\Program Files (x86)\File Directory\sub directory\logs\Backups\Client.txt" Client%date:~7,2%%date:~4,2%%date:~10,4%%time:~0,2%%time:~3,2%%time:~6,2%.txt

这工作正常,除非第一个时间参数 (%time:~0,2%) 是一个数字。它会因语法命令不正确而出错。我明白它为什么会发生(这里有一个类似的帖子)但是当小时参数是一个数字(01-09 之间)时,似乎无法获得正确的语法来使命令成功运行。

我需要添加什么命令语法以确保该命令在小时内使用单个数字?

【问题讨论】:

  • 这里有几十篇关于这个主题的帖子,包括今天早些时候的一篇。但是,这应该可以帮助你Stampme.cmd
  • 谢谢。这比我需要的稍微复杂一些。我最终采用了另一种解决方案,即在重命名语句之前放置一个 set 命令。代码现在看起来像这样并按要求工作。 set hour=%time:=0% rename "C:\Program Files (x86)\File Directory\sub directory\logs\Backups\Client.txt" Client%date:~7,2%%date:~4,2 %%date:~10,4%%hour:~0,2%%time:~3,2%%time:~6,2%%txt
  • 我对日期格式不太在意,这是时间片不能正常工作。如果在某个阶段日期格式让我感到悲伤,我一定会查看您提供的链接。谢谢

标签: batch-file dos


【解决方案1】:
set hour=%time: =0%
rename "C:Program Files (x86)File Directorysub directorylogsBackupsClient.txt" Client%date:~7,2%%date:~4,2%%date:~10,4%%hour:~0,2%%time:~3,2%%time:~6,2%.txt

【讨论】:

    猜你喜欢
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    • 2015-02-28
    • 2015-04-12
    相关资源
    最近更新 更多