|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] for /l ведущий ноль |
|
CMD/BAT - [решено] for /l ведущий ноль
|
Пользователь Сообщения: 57 |
хочу создать список всех дат, но не пойму как автоматически добавляять ноль если число от 1 до 9
Цитата:
Цитата:
|
|||
Отправлено: 22:40, 17-08-2015 |
Ветеран Сообщения: 1758
|
|
Отправлено: 00:39, 18-08-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Цитата shmel_sv@vk:
А Вас не смущает наличие в Вашем списке таких дат, как 31 февраля или 31 июня? С учётом необходимости вывода правильного числа дней в месяцах (в т. ч. и 29-ти дней в феврале високосных годов) могу предложить код на PowerShell: . |
|
Отправлено: 11:42, 18-08-2015 | #3 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать shmel_sv@vk, То же, что и у Foreigner без контроля правильности дат.
@Echo Off SetLocal EnableExtensions EnableDelayedExpansion FOR /L %%g IN (2001,1,2015) DO ( FOR /L %%m IN (101,1,112) DO ( Set mm=%%m FOR /L %%d IN (101,1,131) DO ( Set dd=%%d Echo %%g-!mm:~-2!-!dd:~-2! ))) |
------- Последний раз редактировалось megaloman, 18-08-2015 в 19:59. Отправлено: 19:28, 18-08-2015 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
![]() |
||
Отправлено: 19:32, 18-08-2015 | #5 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Цитата Georgio:
Ради "спортивного" интереса написал код для пакетного файла с выводом результата в файл "Dates.txt": @>"Dates.txt" ( for /l %%y in (2003 1 2015) do @( for /l %%m in (1 1 12) do @( for /l %%d in (1 1 31) do @( for %%? in (2 4 6 9 11) do @( if %%m%%d equ %%?31 set ?=? ) if %%m%%d equ 230 set ?=? for /f %%? in ('set/a %%y%%4') do @( for /l %%* in (1 1 3) do @( if %%?%%m%%d equ %%*229 set ?=? ) ) if not defined ? <nul ( set/p=%%y- (if %%m leq 9 set/p=0)& set/p=%%m- (if %%d leq 9 set/p=0)& echo %%d ) set ?= ) ) ) ) Код получился немного "авангардным" и нетрадиционным, но, вопреки ожиданию, не очень "громоздким". |
|
Отправлено: 23:43, 18-08-2015 | #6 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Цитата Georgio:
@Echo Off SetLocal EnableExtensions EnableDelayedExpansion FOR /L %%g IN (2001,1,2016) DO ( Set /A VG=%%g/4*4 Set "Cal=131 228 331 430 531 630 731 831 930 1031 1130 1231" If !VG!==%%g Set "Cal=131 229 331 430 531 630 731 831 930 1031 1130 1231" For %%m In (!Cal!) Do ( Set /A DD=%%m/100*100+1 FOR /L %%d IN (!DD!,1,%%m) DO ( Set /A DT=%%g*10000+%%d Echo !DT:~0,4!-!DT:~4,2!-!DT:~6,2! ))) |
|
------- Отправлено: 10:22, 19-08-2015 | #7 |
Пользователь Сообщения: 57
|
Профиль | Сайт | Отправить PM | Цитировать спасибо всем большое!!!!
|
Отправлено: 12:29, 19-08-2015 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Ведущий разработчик Google Glass перешёл в Amazon | OSZone News | Новости информационных технологий | 0 | 15-07-2014 19:30 | |
[решено] Скорость передачи USB-модема 0 (ноль) | Pensik | Лечение систем от вредоносных программ | 24 | 17-03-2013 09:15 | |
Умер ведущий "Городка" Илья Олейников | Tigr | Флейм | 8 | 12-11-2012 16:23 | |
я полный ноль-помогите обновить пк | yyx | Выбор отдельных компонентов компьютера и конфигурации в целом | 4 | 23-09-2011 09:39 | |
Как снести LINUX под ноль? | illusionmgs | Хочу все знать | 22 | 22-06-2011 09:18 |
|