我有一个输出文件的批处理脚本,我试图确保每次执行脚本时都不会覆盖现有文件,所以我试图在上面加上时间戳。
目前我有这个:
set stamp=%DATE:/=-%_%TIME::=-%
但如果时间是上午 1 点到 9 点,它会给出如下信息:
13-06-2012_ instead of a full 13-06-2012_12-39-37.28
我怎样才能解决这个问题?
我使用的是 Windows 7,echo %date% %time%
命令行窗口中的输出是(我的“短日期”时钟格式设置为显示 3 个字母的月份):
03-Sep-12 9:06:21.54
基本上我想要一个解决问题的解决方案,无论时钟格式设置为什么。
编辑:由于没有人喜欢阅读标题,我会明确说明这个问题是关于截断问题。我找到了解决方案。
我已经使用以下时间戳已有一段时间了,效果很好。
set timestamp=%DATE:/=-%_%TIME::=-%
set timestamp=%timestamp: =%
它产生了一个时间戳,如:18-03-2013_13-37-43.26
,通过替换/
and:
中的%TIME%
and %DATE%
,然后去除空格。空格是我原来问题中的问题,真的。