【发布时间】: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
-
这将取决于语言环境。
%date%变量在系统间不可靠。见How do I get current date/time on the Windows command line in a suitable format for usage in a file/folder name? -
我对日期格式不太在意,这是时间片不能正常工作。如果在某个阶段日期格式让我感到悲伤,我一定会查看您提供的链接。谢谢
标签: batch-file dos