bat создать папку с текущей датой

Я мало знаю о синтаксисе windows.bat. Мое простое требование — создать папку в определенном месте с именем в качестве текущей даты. Я попытался найти это в google, но не получил хороший вариант. Есть ли способ сделать это?

Попробуйте это (эквивалент bash backquotes):

Для получения дополнительной информации см. http://ss64.com/nt/for_cmd.html

Быстрая и грязная: если вы можете проживать с датой UTC вместо локальной, вы можете использовать:

Работает во всех локалях. Однако только на XP и выше.

Вам нужно избавиться от символов «/» в дате, прежде чем вы сможете использовать ее в mkdir следующим образом:

Если вы хотите формат mm-dd-yyyy , вы можете использовать:

Это даст вам недавно созданную папку с текущей датой в формате DD-MM-YY

У меня возникла проблема с этим, потому что мой сервер АБСОЛЮТНО должен был иметь свою дату в формате MM/dd/yyyy, в то время как мне хотелось, чтобы каталог был в формате YYYY-MM-DD для удобства. Здесь, как получить его в формате YYYY-MM-DD, независимо от того, какие ваши региональные настройки заданы как.

Узнайте, что отображается, когда вы используете% DATE%:

В командной строке введите:

Шахта вышла 03/06/2013 (как и 6 марта 2013 года)

Поэтому, чтобы получить имя каталога как 2013-03-06, введите код в ваш пакетный файл:

Это зависит от региональных настроек компьютера, поэтому сначала проверьте вывод даты в командной строке или сделайте эхо даты.

Для этого создайте командный файл и добавьте нижеприведенный контент

Он производит вывод, в моем случае это показывает Пт 05/06/2015.

Теперь нам нужно избавиться от косой черты (/)

Для этого включите приведенный ниже код в пакетном файле.

если вы повторяете «temp», вы можете видеть дату без косой черты.

Теперь вам нужно всего лишь форматировать дату так, как вы хотите.

Например, мне нужна дата в формате YYYYMMDD, тогда мне нужно установить имя dirname ниже

Чтобы объяснить, как это работает, нам нужно сравнить значение temp

теперь поместите все символы с номерами, начинающимися с 0.

Итак, для формата даты, который мне нужен, 20150605,

2015 год, в котором 2 находится на восьмом месте, поэтому с 8-й позиции до 4-х мест он достигнет 2015 года.

Месяц 06, в котором 0 находится на шестой позиции, поэтому с 6-й позиции до 2-х мест он составит 06.

День 05, в котором 0 находится в 4-й позиции, поэтому с 4-го положения до 2-х мест он будет делать 05.

Итак, чтобы настроить окончательный формат, мы имеем ниже.

Чтобы увеличить формат даты с помощью «-» или «_» между датой, месяцем и годом, вы можете изменить ниже

Таким образом, окончательный код партии будет

Каталог будет создан в том месте, где выполняется эта партия.

Достаточно часто, особенно для резервных копий необходимо создавать папку с именем текущей даты, а затем копировать в нее бэкап. Есть насколько вариантов создания такой папки:

Предлагаю ознакомиться с предложениями моих партнёров

Такая команда создаст в корне системного диска папку с именем текущей даты. Но эта команда не будет работать, если региональные установки отличны от русского и в разделителях даты используется слеш. В таком случае, можно сделать по другому:

Как вариант, можно рассмотреть добавление к имени файла текущей даты:

Имя файла test.txt будет переименовано в test_15-08-2015.txt

Аналогичная задача, только в имя папки нужно добавить время

rem время с точками
set mytime=%time%
set mytime=%mytime:

rem время без точек
set mytime=%time%
set mytime=%mytime:

Далее можно подставлять куда нужно переменную %mytime%

Формат времени hh:mm:ss зависит о региональных настроек, для USA будет по-другому,также как и дата.

Мне нужно, чтобы BAT скрипт мог создать папку с именем включающим текущую дату.

Интернет полон решений, большинство которых зависит от локальных настроек системы, например :

Мне же нужно создавать папку стабильно и независимо от локальных настроек.

Источник: computermaker.info

Понравилась статья? Поделиться с друзьями:
Ок! Компьютер
Добавить комментарий