cmd номер дня года

CMD/BAT: работа с датой и временем в командной строке

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщения 1

1 Тема от Rumata 2010-01-21 22:48:50 (изменено: Rumata, 2010-01-22 19:42:40)

cmd номер дня года. Смотреть фото cmd номер дня года. Смотреть картинку cmd номер дня года. Картинка про cmd номер дня года. Фото cmd номер дня годаcmd номер дня года. Смотреть фото cmd номер дня года. Смотреть картинку cmd номер дня года. Картинка про cmd номер дня года. Фото cmd номер дня годаcmd номер дня года. Смотреть фото cmd номер дня года. Смотреть картинку cmd номер дня года. Картинка про cmd номер дня года. Фото cmd номер дня годаcmd номер дня года. Смотреть фото cmd номер дня года. Смотреть картинку cmd номер дня года. Картинка про cmd номер дня года. Фото cmd номер дня годаcmd номер дня года. Смотреть фото cmd номер дня года. Смотреть картинку cmd номер дня года. Картинка про cmd номер дня года. Фото cmd номер дня годаcmd номер дня года. Смотреть фото cmd номер дня года. Смотреть картинку cmd номер дня года. Картинка про cmd номер дня года. Фото cmd номер дня годаcmd номер дня года. Смотреть фото cmd номер дня года. Смотреть картинку cmd номер дня года. Картинка про cmd номер дня года. Фото cmd номер дня годаcmd номер дня года. Смотреть фото cmd номер дня года. Смотреть картинку cmd номер дня года. Картинка про cmd номер дня года. Фото cmd номер дня годаcmd номер дня года. Смотреть фото cmd номер дня года. Смотреть картинку cmd номер дня года. Картинка про cmd номер дня года. Фото cmd номер дня годаcmd номер дня года. Смотреть фото cmd номер дня года. Смотреть картинку cmd номер дня года. Картинка про cmd номер дня года. Фото cmd номер дня года

Тема: CMD/BAT: работа с датой и временем в командной строке

Недостатки
Вначале хотелось бы сказать о существующих недостатках. Есть одна особенность, о которой следует помнить. Этот скрипт хорошо работает даже с таким форматом даты как М/Д/ГГГГ, например для даты 14 февраля 2010. Однако это никогда не проверялось, например, для дат неделей раньше. Об этом сказано в записи от 14 февраля 2009 на странице архива Роба ван дер Вуда. Однако в большинстве случаев это работает.

В результате получим строку вида 20100121_2148.

Этот скрипт не универсальный, он системно-зависимый: порядок отдельных частей даты и времени зависит от текущих установок на компьютере (национальные, пользовательские настройки).

Aнализ текущего времени
На форуме был задан вопрос как проанализировать текущее время:

Источник

Создать bat который выводит номер месяца начиная с текущего и заканчивая концом года

Здравствуйте, помогите решить задачу.
Нужно написать батник, который создает файлы(можно папки не важно) с номером месяца, начиная с текущего и заканчивая концом года, т.е. двенадцатым месяцем.
Вот что у меня получилось, но проблемы с 8 и 9 месяцем.
Вот мой код:

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

Написать скрипт, который запрашивает номер месяца и выводит название времени года
Недавно для себя начал изучать Ява-Скрипт, помогите с таким заданием: Нужно написать Java-скрипт.

Напишите скрипт,который запрашивает номер месяца и выводит название времена года
1)Создать выпадающие меню с помощью Select. 2)Создать форму для регистрации, используя поля Ф.И.О.

cmd номер дня года. Смотреть фото cmd номер дня года. Смотреть картинку cmd номер дня года. Картинка про cmd номер дня года. Фото cmd номер дня годаНаписать программу, которая запрашивает у пользователя номер месяца и выводит соответствующее название времени года
Написать программу, которая запрашивает у пользователя номер месяца и выводит соответствующее.

Решение

sov44, у меня тоже работает (возможно, у нас и у ТС разные версии интерпретатора), но это будет работать только до определённого времени. Если бы сейчас был август или сентябрь, то у нас с Вами создались бы папки с именами от «0» до «12», поскольку «08» и «09» были бы интерпретированы как набор символов, не являющийся числом, который был бы приравнен к нулю.

Например, в командной строке вывод команды

Да, действительно это так, и отрезается не только первый нуль, но отрезаются и все начальные нули, но только в том случае, если после этих нулей не идут цифры «8» или «9». Наличие этих цифр после нулей приводит к ошибке, описанной ТС.

Загадкой остаётся то, каким образом ТС попадал в «будущее» или в «прошлое». Может быть он делал так:

Да, действительно это так, и отрезается не только первый нуль, но отрезаются и все начальные нули, но только в том случае, если после этих нулей не идут цифры «8» или «9». Наличие этих цифр после нулей приводит к ошибке, описанной ТС.

Загадкой остаётся то, каким образом ТС попадал в «будущее» или в «прошлое». Может быть он делал так:

Изменять месяц в системной дате на ПК и возвращать его обратно можно и с помощью кода (правда, запускать пакетный файл с таким кодом надо от имени администратора):

cmd номер дня года. Смотреть фото cmd номер дня года. Смотреть картинку cmd номер дня года. Картинка про cmd номер дня года. Фото cmd номер дня годаНапишите программу, которая запрашивает у пользователя номер месяца и затем выводит соответствующее название времени года
Напишите программу, которая запрашивает у пользователя номер месяца и затем выводит соответствующее.

cmd номер дня года. Смотреть фото cmd номер дня года. Смотреть картинку cmd номер дня года. Картинка про cmd номер дня года. Фото cmd номер дня годаЗаданы число и месяц невисокосного года. Вычислить порядковый номер даты, начиная отсчет с начала года
Заданы два натуральных числа a,b которые обозначают число и месяц не високосного года. Вычислить.

cmd номер дня года. Смотреть фото cmd номер дня года. Смотреть картинку cmd номер дня года. Картинка про cmd номер дня года. Фото cmd номер дня годаПолучение первого и последнего дня текущего месяца и года
Всем привет. Требуется написать метод, который будет возвращать дату в формате yyyy-MM-dd.

Источник

Cmd номер дня года

В числе системных переменных есть переменная %date%, которая содержит текущую дату. Если в окне командного процессора ввести команду

то вывод будет примерно таким:
15.10.2014
Для получения отдельных значений номера дня, месяца и года используется операция извлечения подстроки. Так,

— извлечь четыре последних символа из строки.

или это же можно записать так

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

0,2% rem Месяц даты Set MM=%DATE:

3,2% rem Год даты [сокращенный] Set YY=%DATE:

8,2% rem Год даты [полный] Set YYYY=%DATE:

Следует все же отметить, что такой формат вывода даты используется в операционных системах более поздних, чем windows 2000. Для тех счастливых (часов не наблюдающих) и безмятежных людей, которые эксплуатируют эту или более ранние версии, упомяну, что работа с датой и механизм извлечения элементов даты будет несколько отличаться. На всякий случай приведу и его. Скорее для истории.
Не использовать для других операционных систем!

3,2% rem Месяц даты Set MM=%DATE:

6,2% rem Год даты [сокращенный] Set YY=%DATE:

11,2% rem Год даты [полный] Set YYYY=%DATE:

Выше были рассмотрены различные варианты получение элементов даты в bat / cmd файлах. И теперь можно приступать собственно к работе с файлами и папками (каталогами), в именах которых присутствуют элементы даты.

Копирование файлов, в имени которых присутствует дата.

В bat / cmd файлах там, где необходимо присутствие дня, месяца или года мы будем использовать значения, которые мы рассмотрели в предыдущем параграфе. Перед выполнением команды вместо %date. % или переменной, если вы ее определили, произойдет подстановка соответствующих значений.
Например, необходимо скопировать файл, с именем даты в формате YYYYMMDD и расширением rar в в каталог backup.

Или то же самое, если были определены переменные:

Копирование в файл или каталог (папку), в имени которых присутствует дата.

Довольно часто это так же используется и для создания архивов.

В приведенном примере создается архив с именем даты в формате YYYYMMDD.
Для проверки наличия и создания при необходимости каталога, в имени которого присутствует дата, можно использовать такой код:

0,2% if not exist %PATHARHDAY% ( md %PATHARHDAY% )

Теперь в такой каталог можно копировать/перемещать файлы

(Здесь, как и в других примерах, не проверяется код возврата команды, что не всегда приемлемо при написании «боевых» сценариев).
Если источник и (или) приемник находятся на сетевом диске и адрес его начинается с двух слэшей, то необходимо использовать команду xcopy.

Копирование файлов по дате создания

В некоторых случаях удобно копировать файлы, созданные (модифицированные) сегодня. Для этого даже нет необходимости знать их имена.
Конечно, можно написать собственный bat / cmd сценарий, который будет перебирать файлы требуемого каталога, извлекать дату создания файла, сравнивать с текущей и, при необходимости, копировать в каталог назначения. Но в операционной системе уже есть достаточно мощные средства, позволяющие выполнять такие действия. Их сейчас мы и рассмотрим.

Все файлы созданные (модифицированные) сегодня будут скопированы из каталога d:\input в d:\output

Такая команда скопирует все файлы сегодня созданные из папки N:\arhive в папку M:\SUPERARHIVE.
Если в предыдущем примере вместо copy использовать команду move, то такие файлы будут не скопированы, а перемещены.

Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация).

Новый раздел о средствах командной строки в рамках этого же проекта расположен здесь

Источник

Cmd номер дня года

Итак, рассмотрим некоторые примеры решения задач, связанных с обработкой даты и/или времени.

Определения названия дня недели по номеру дня в неделе.

Еще один вариант решения этой задачи:

Пример вызова аналогичен предыдущему.
Написать процедуру получения имени месяца по его номеру, думаю, уже не составит труда.

Удаление файлов с истекшим временем хранения

В следующем примере из заданной папки (OTKUDA) по требуемой маске (MASK) удаляются файлы, которые были созданы более определенного количества дней назад (N).

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

1′) do ( set /a years=%%c*365+%%c/4 set /a prev_year=%%c-1 set /a result_year=%%c/4 set /a result_prev_year=!prev_year!/4 set /a vis=!result_year!-!result_prev_year! set numm=%%b if «!numm:

0,1!» == «0» set numm=!numm:

0,1!» == «0» set days=!days:

2=!years!+!months!+!days! ) exit /b 0 :Day2Num %d% day for /f «tokens=%1» %%I in ^ (‘echo 0 31 59 90 120 151 181 212 243 273 304 334’) ^ do set /a %2=%%I exit /b 0

В этом примере подпрограмма Day2Num в некоторой степени имитирует работу с массивом констант.))

В приведенном участке кода из папки C:\source_folder удаляются файлы, возраст которых больше 7 дней.

Подробнее о параметрах forfiles смотрите тут.

Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация).

Новый раздел о средствах командной строки в рамках этого же проекта расположен здесь

Источник

Добавление даты в любом формате в имя файла или папки через cmd

cmd номер дня года. Смотреть фото cmd номер дня года. Смотреть картинку cmd номер дня года. Картинка про cmd номер дня года. Фото cmd номер дня годаДобавление даты в имя файла или папки — несложная задача. Интереснее становится, когда дату нужно записать строго в определённом формате. Из этой статьи вы узнаете, как задавать файлам и каталогам имена с датой в любом виде.

На днях мне пришлось решить небольшую задачку по наименованию резервных копий, наименование которых должно было содержать дату в формате yymmdd (две последних цифры года, две цифры месяца и две цифры дня). Используемая для создания резервных копия утилита, однако, такой формат даты в имени не поддерживает. Но поддерживает запуск исполняемых файлов до и/или после процедуры копирования. Поэтому решением стал cmd-файл (ну или bat, как вариант). Вот его пример:

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

Для перевода дат в именах файлов я использовал значение текущей даты в Windows, которое записывается в виде dd.mm.yyyy. При этом отметим, что эта дата это десять символов (точки считаются), которые пронумерованы системой начиная с нуля.

cmd номер дня года. Смотреть фото cmd номер дня года. Смотреть картинку cmd номер дня года. Картинка про cmd номер дня года. Фото cmd номер дня года

cmd номер дня года. Смотреть фото cmd номер дня года. Смотреть картинку cmd номер дня года. Картинка про cmd номер дня года. Фото cmd номер дня года

создаёт переменную CURDATE (от current date) и задаёт ей значение текущей даты. Имя переменной можно выбрать произвольно, хватит и любой буквы. Кроме того, переменную можно специально и не задавать, а использовать текущую дату. Но об этом позднее.

Далее идёт команда переименования ren (или rename ). Можно использовать оба варианта написания команды. Синтаксис её выглядит так:

ren [путь_к_файлу]\[старое_имя_файла] [новое_имя_файла]

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

Теперь непосредственно о команде переименования:

Как видим, мы берем файл primer_%date%.zip из каталога C:\Backups\ для переименования. Например, созданный сегодня файл будет иметь имя primer_07.11.2018.zip, а завтрашний primer_08.11.2018.zip. В нашем случае это ежедневные резервные копии. Новое имя, возможно, выглядит страшно и требует расшифровки.

Напомню, что CURDATE представляет собой последовательность из десяти символов, пронумерованных от нуля до девяти, и в общем виде представляет собой текущую дату в виде dd.mm.yyyy. Таким образом, в нашем примере:

два символа с восьмого — 18;

два символа с третьего — 11;

два символа с нулевого — 07.

В итоге, файл primer_07.11.2018.zip превращается в d_181107_primer.zip. Что касается буквы d, то это просто указатель ежедневной копии, который я оставил в примере, чтобы показать, что можно спокойно дописывать любые символы до и после формируемой нами даты.

В конце скрипта очистим значение CURDATE

Переменную можно было и не задавать. Тогда бы мы обошлись одной строкой:

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

Как я уже говорил, вы можете записывать дату в имени файла по своему усмотрению не только при переименовании. Например, команда для создания каталога mkdir (или md ):

Этими командами мы переименовали файл primer.txt в текущем каталоге в файл primer_07_11_2018.txt (при другой дате на календаре, конечно, будет другое имя). Думаю, синтаксис уже должен быть вам понятен: два символа с нулевого, два символа с третьего и четыре с шестого.

Но, вообще, команда move это, конечно, больше про перемещение файлов и папок. Конечно же, задавать имена с датой в любом формате можно и при перемещении.

Кстати, в самом первом примере мы находили нужным нам файл с датой в имени, которая была записана в правильной по российским нормам последовательности dd.mm.yyyy, но ведь она может быть записана и другим способом. Что если в имени файла у нас только месяц и последние две цифры года? А мы хотим поставить сначала год, потом месяц, да ещё и разделить их символом _ для лучшей читаемости.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *