cmd дата и время

DATE и TIME имеют сходный формат командной строки и используются для отображения или изменения текущей даты или времени.

Формат командной строки DATE:

Команда DATE без параметров отображает текущую дату и запрашивает ввод новой даты. Для сохранения текущей даты нажмите клавишу ENTER.

Формат командной строки TIME:

Введите TIME без параметров для вывода текущего времени и запроса на ввод нового времени. Нажмите клавишу ENTER для сохранения текущего времени.

date — отобразить текущую дату. Результат:
Текущая дата: 28.09.2012
Введите новую дату (дд-мм-гг):

Установить новое значение даты:

date /T 28.09.2012

Отобразить текущее время:

Или то же, но с интерактивным запросом:

Текущее время: 8:20:04,96
Введите новое время: 8:30

Установить новое значение времени через параметр командной строки ( без запроса ):

Как я могу получить имя файла YYYY.MM.DD_HH.MM.SS.7z? Он должен работать с любыми региональными настройками!

3 ответа

Хорошо, когда этот вопрос является технически другим вопросом, ответ по существу тот же, что и другой вопрос:

Поскольку вы указали, что он должен работать с любыми региональными настройками, этот ответ не полностью отвечает вашим потребностям. Насколько я знаю, нет никакого способа удовлетворить ваши потребности изнутри cmd.exe. Я очень рекомендую сделать это в powershell вместо cmd.

Команда:


Вывод:

title Переименовать на дату и время

:: Chunks собраны здесь и amp; там».

:: Пакетное переименование 1 на 1 w. короткая задержка,

:: на сегодняшний день + время w. миллисекунды = >

:: Западно-европейские региональные настройки:

:: ОК. ЛЮБЫЕ региональные настройки:? .. Можете

:: require ‘env. замены переменных.

установить «source = 1_7z-orig-files-dir»

установить «target = 2_tmp»

если не существует «% target% » md «% target%»

если не существует «% source% *. 7z» goto END

Update: теперь, когда это 2016 год, я бы использовал PowerShell для этого, если только для этого нет действительно убедительной обратной совместимой причины, особенно из-за проблемы с региональными настройками с использованием date . См. @npocmaka по

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

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

Я действительно не возражаю против формата даты, в идеале это было бы yyyy-mm-dd, но все просто отлично.

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

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

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

26 ответов:

Если вы предпочитаете время в 24-часовом / военном формате, вы можете заменить вторую строку на эту:

Если вы хотите дату независимо от региона день/месяц заказа, вы можете использовать «WMIC os GET LocalDateTime» в качестве источника, так как он находится в ISO порядок:

C: тест>.cmd
Локальная дата-это [2012-06-19 10:23:47.048]

региональный независимый разбор даты и времени

выходной формат %DATE% и dir команда зависит от региона и, следовательно, не является ни надежной, ни умной. дата.exe (часть UnxUtils) предоставляет любую информацию о дате и времени в любом мыслимом формате. Вы также можете извлечь информацию о дате / времени из любого файла с помощью date.exe .

примеры: (в cmd-скрипте используйте %% вместо %)

date.exe +»%Y%m%d %H%M%S: Any text»
20091222 185503: любой текст

date.exe +»Text: %y/%m/%d-any text-%H.%M»
Текст: 09/12/22-любой текст-18.55

Command: date.exe +»%m-%d «»»%H %M %S «»»»
07-22 «18:55:03″`

информация о дате / времени из файла ссылки:
date.exe -r c:file.txt +»The timestamp of file.txt is: %Y-%m-%d %H:%M:%S»

используя его в сценарии CMD, чтобы получить информацию о годе, месяце, дне, времени:

использовать его в сценарии CMD, чтобы получить метку времени в любом требуемом формате:

извлечение информации о дате / времени из любого справочного файла.

добавление в файл информации о дате/времени:

дата.ехе часть свободных инструментов GNU которые не нуждаются в установке.

копирование date.exe в любой каталог, который находится в пути поиска может привести к сбою других сценариев, которые используют встроенный в Windows date команда.

еще два способа, которые не зависят от настроек времени (взято из : как получить данные / время независимо от локализации:). И как же сделать день недели, и ни один из них не требует разрешения администратора!:

MAKECAB — будет работать на каждой системе Windows (быстро, но создает небольшой временный файл) (скрипт foxidrive):

ROBOCOPY — это не родная команда для Windows XP и Windows Server 2003, но это может быть загружено с сайта microsoft. Но встроен во все, начиная с Windows Vista и выше:

и еще три способа, которые используют другие языки сценариев Windows. Они дадут вам больше гибкости, например, вы можете получить неделю в году, время в миллисекундах и так далее на.

JScript / batch гибрид (нужно сохранить как .bat ). JScript доступен в каждой системной форме NT и выше, как часть Windows Script Host (хотя можно отключить через реестр это редкий случай):

VSCRIPT / BATCH гибридный (можно ли внедрить и выполнить VBScript в пакетном файле без использования временный файл?) тот же случай, что и JScript, но гибридизация не так совершенна:

PowerShell — может быть установлен на каждой машине, которая имеет .NET-скачать с Microsoft ( v1, v2, v3 (только для Windows 7 и выше)). Он устанавливается по умолчанию на все Windows 7 и Windows Server 2008 и выше:

чтобы использовать его из пакета файл:

Самокомпилируется jscript.net/batch (никогда не видел машину Windows без .NET, поэтому я думаю, что это довольно портативный):

Логман это не может получить год и день недели. Он сравнительно медленный, а также создает временный файл и основан на отметках времени, которые logman помещает в свои файлы журналов. Он будет работать на все, начиная с Windows XP и выше. Наверное никогда не будет использоваться никем-включая меня-но это еще один способ.

еще один способ с WMIC который также дает неделю года и день недели, но не миллисекунды (для миллисекунд проверьте ответ foxidrive):

используя TYPEPERF С некоторыми усилиями, чтобы быть быстрым и совместимым с различными языковыми настройками и так же быстро, как возможно:

MSHTA позволяет вызывать методы JavaScript, аналогичные методу JScript, показанному в #3 выше. Имейте в виду, что свойства объекта даты JavaScript, включающие значения месяца, нумеруются от 0 до 11, а не от 1 до 12. Таким образом, значение 9 означает октябрь.

вот вариант из alt.рекламного.партия.nt, который работает локально-независимо.

поместите это в текстовый файл, например getDate.cmd

чтобы получить код для работы без ошибок msg в stderr, мне пришлось добавить одинарные кавычки вокруг назначений переменных для %%a, %%b и %%c. моя локаль (PT) вызывала ошибки на одном этапе в цикле/разборе, где выполнялись такие вещи, как «set =20». Котировки дают токен (хотя и пустой) для левой стороны оператор присваивания.

недостатком является беспорядочные имена переменных локали:’ yy’,’ mm ‘и’dd’. Но эй, какая разница!

Оцените статью
SoftLast
Добавить комментарий