Временная метка имени файла в пакетном сценарии Windows CMD

У меня есть пакетный скрипт, который выводит файл, и я пытаюсь убедиться, что каждый раз, когда скрипт выполняется, существующие файлы не перезаписываются, поэтому я пытаюсь поставить метку времени на Это.

В настоящее время у меня есть это:

set  stamp=%DATE:/=-%_%TIME::=-%

Но если время 1-9 AM, это дает что-то вроде:

13-06-2012_ instead of a full 13-06-2012_12-39-37.28

Как я могу это исправить?

Я использую Windows 7, и вывод echo %date% %time%в окне командной строки (мой формат часов для «короткой даты» настроен на отображение месяцев из трех букв ):

03-Sep-12 9:06:21.54

Редактировать: Я уже давно использую следующую временную метку, работает хорошо.

set timestamp=%DATE:/=-%_%TIME::=-%
set timestamp=%timestamp: =%

Он создал отметку времени, например: 18-03-2013_13-37-43.26, заменив /и :в %TIME%и %DATE%, затем удаление пробелов. На самом деле пробел был проблемой в моем первоначальном вопросе.

22
задан bryc 9 February 2015 в 10:25
поделиться