Как получить текущую дату и время в командной строке Windows в подходящем формате для использования в имени файла?

Обновление: теперь, когда наступил 2016 год, я бы использовал PowerShell для этого, если только для этого нет действительно убедительной обратной совместимости, особенно из-за проблемы региональных настроек при использованииdate, Смотрите @ npocmaka'shttps://stackoverflow.com/a/19799236/8479

Какие операторы командной строки Windows я могу использовать, чтобы получить текущую дату и время в формате, который я могу поместить в имя файла?

Я хочу, чтобы файл .bat заархивировал каталог в архив с текущей датой и временем как частью имени, например,Code_2008-10-14_2257.zip, Есть ли простой способ сделать это независимо от региональных настроек машины?

Я действительно не против формата даты, в идеале это будет гггг-мм-дд, но все, что угодно, просто отлично.

Пока у меня есть это, которое на моей машине дает мнеTue_10_14_2008_230050_91:

rem Get the datetime in a format that can go in a filename.
set _my_datetime=%date%_%time%
set _my_datetime=%_my_datetime: =_%
set _my_datetime=%_my_datetime::=%
set _my_datetime=%_my_datetime:/=_%
set _my_datetime=%_my_datetime:.=_%

rem Now use the timestamp by in a new ZIP file name.
"d:\Program Files\7-Zip\7z.exe" a -r Code_%_my_datetime%.zip Code

Я могу жить с этим, но это кажется немного неуклюжим. В идеале это было бы более коротким и имело формат, упомянутый ранее.

Я использую Windows Server 2003 и Windows XP Professional. Я не хочу устанавливать дополнительные утилиты для достижения этой цели (хотя я понимаю, что есть некоторые, которые будут делать хорошее форматирование даты).

Ответы на вопрос(27)

Ваш ответ на вопрос