Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 05.11.2015
Сообщений: 53

Найти все файлы у которых месяц создания совпадает с полученным месяцем

29.05.2017, 15:56. Показов 680. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите,пожалуйста. Есть 1.bat в нем написана программа расчета даты (определение текущей даты, затем прибавление или вычитание заданное кол-во дней).Пример: сегодня 20.05.2017, мы запускаем файл
1.bat 6
результат будет
26.05.2016
если 1.bat -8
результат будет
12.05.2017
Нужно, написать 2.bat, который принимает 1 параметр - целое число (отрицательное или положительное). При запуске 2.bat, запускается предыдущий батник (1.bat), 2.bat передает ему целое число (отрицательное или положительное), программа выводит новую дату. Затем, в текущем каталоге нужно найти все файлы у которых месяц создания совпадает с полученным месяцем.
Пример: сегодня 20.05.2017
запускаем программу:
2.bat 16
результат должен быть:
5.06.2017
вывести файлы которые созданы в июне (06)
1.bat код ниже
Помогите, пожалуйста!
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
@echo off
echo.
if not "%OS%"=="Windows_NT" goto syntax
set error=0
if "%1"=="" goto syntax
if not "%3"=="" goto syntax
for /f "tokens=4" %%a in ('echo. ^| date ^| find "дата*"') do set pDate=%%a
if "%2"=="" (
set cDate=%pDate%
set cDays=%1
) else (
set cDate=%1
set cDays=%2
)
 
call :ReadDateFormat
 
(echo.%cDate%) | findstr /R /B /C:"[0-9]*\%sDate%[0-9]*\%sDate%[0-9]*" >NUL
if errorlevel 1 (
echo error: %cDate% - Неправильная дата
echo.
goto syntax
)
(echo.%cDays%) | findstr /R /B /C:"-*[0-9]*" >NUL
if errorlevel 1 (
echo error: %cDays% -Неправильное целое
echo.
goto syntax
)
call :ParseDate %cDate%
if %error% NEQ 0 goto syntax
call :JDate %GYear% %GMonth% %GDay% 
echo Ќ*з*«м**п ¤*в*: %cDate%
if "%cDays:~0,1%"==" " (
set /A NewJDate=%JDate% - %cDays:~1%
echo Кол-во отнытых дней: %cDays:~1%
) else (
set /A NewJDate=%JDate% + %cDays%
echo Кол-во прибавленных дней: %cDays%
)
call :GDate %NewJDate%
call:ReformatDate %GDate%
echo Окончательная дата*: %LDate%
goto:eof
:ReadDateFormat
start /W Regedit /E "%TEMP%.\_TEMP.REG" "HKEY_CURRENT_USER\control Panel\International"
for /f "tokens=1* delims==" %%A in ('TYPE "%TEMP%.\_TEMP.REG"^|find /I "iDate"') do set iDate=%%B
for /f "tokens=1* delims==" %%A in ('TYPE "%TEMP%.\_TEMP.REG"^|find /I "sDate"') do set sDate=%%B
DEL "%TEMP%.\_TEMP.REG"
set iDate=%iDate:"=%
set sDate=%sDate:"=%
goto:eof
 
:gdate
set /a p=%1 + 68569
set /a p1=p*4
set /a q=p1/146097
set /a q1=146097*q+3
set /a r=p-q1/4
set /a r1=r+1
set /a r2=4000*r1
set /a s=r2/1461001
set /a s1=1461*s
set /a t=%r%-s1/4+31
set /a t1=80*t
set /a u=t1/2447
set /a v=u/11
set /a v1=q-49
set /a v2=2447*u
set /a gyear=100*v1+s+v
set /a gmonth=u+2-12*v
set /a gday=t-v2/80
for %%a in (p q q1 q2 r r1 r2 s s1 t t1 u v v1 v2) do set %%a=
if 1%gmonth% LSS 20 set gmonth=0%gmonth%
if 1%gday% LSS 20 set gday=0%gday%
set gdate=%gyear% %gmonth% %gday%
goto:eof
 
:jdate
SET MM=%2
SET DD=%3
IF %MM:~0,1% EQU 0 SET MM=%MM:~1%
IF %DD:~0,1% EQU 0 SET DD=%DD:~1%
set /a m1=%MM%-14
SET /A Month1=m1/12
SET /A Year1=%1+4800
set /a b1=%Year1%+%Month1%
set /a b2=1461*b1
set /a b=b2/4
set /a c1=%MM%-2-12*%Month1%
set /a c2=367*c1
set /a c=c2/12
set /a d1=%Year1%+%Month1%+100
set /a d2=d1/100
set /a d3=3*d2
set /a d=d3/4
set /a jdate=b+c-d+%DD%-32075
For %%A in (Month1 Year1 b b1 b2 c c1 c2 d d1 d2 d3) do set %%A=
goto:eof
:ParseDate
IF %iDate%==0 For /f "tokens=1-3 delims=%sDate%" %%A in ('echo.%1') DO (
SET GYear=%%C
SET GMonth=%%A
SET GDay=%%B
)
IF %iDate%==1 For /f "tokens=1-3 delims=%sDate%" %%A in ('echo.%1') DO (
SET GYear=%%C
SET GMonth=%%B
SET GDay=%%A
)
IF %iDate%==2 For /f "tokens=1-3 delims=%sDate%" %%A in ('echo.%1') DO (
SET GYear=%%A
SET GMonth=%%B
SET GDay=%%C
)
IF %GDay% GTR 31 set error=1
IF %GMonth% GTR 12 set error=1
goto:eof
:ReadDateFormat
start /W Regedit /E "%TEMP%.\_TEMP.REG" "HKEY_CURRENT_USER\Control Panel\International"
for /f "tokens=1* delims==" %%A in ('type %TEMP%.\_TEMP_REG"^| find /I "iDate"') do set iDate=%%B
for /f "tokens=1* delims==" %%A in ('type %TEMP%.\_TEMP_REG"^| find /I "sDate"') do set iDate=%%B
DEL "%TEMP%.\_TEMP.REG"
SET iDate=%iDate:"=%
SET sDate=%sDate:"=%
goto:eof
 
:ReformatDate
If %iDate%==0 set LDate=%2%sDate%%3%sDate%%1
If %iDate%==1 set LDate=%3%sDate%%2%sDate%%1
If %iDate%==2 set LDate=%1%sDate%%2%sDate%%3
goto:eof
 
:syntax
echo dateadd.bat - программа прибавления (вычитание) указанного количества дней
echo k (от) Указанной даты. Если дата не указана, то берется текущая дата
echo Пример запуска:
echo dateadd 12.03.2009 42
echo.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.05.2017, 15:56
Ответы с готовыми решениями:

Найти все слова, в которых совпадает 3 и более букв
Найти в тексте все слова, в которых совпадает 3 и более букв. Текст вводится с клавиатуры функцией gets(char *) Помогите срочно....

Среди чисел 1…n найти все такие, запись которых совпадает с последними цифрами их квадрата
Дано натуральное число n. Среди чисел 1…n найти все такие, запись которых совпадает с последними цифрами их квадрата

Среди чисел 1,…,n найти все такие, запись которых совпадает с последними цифрами их куба
Дано натуральное число n. Среди чисел 1,…,n найти все такие, запись которых совпадает с последними цифрами их куба. Буду очень...

5
29.05.2017, 17:26

Не по теме:

Цитата Сообщение от Leila_1994 Посмотреть сообщение
Assembler
мощно.

0
1 / 1 / 0
Регистрация: 05.11.2015
Сообщений: 53
29.05.2017, 17:30  [ТС]
Код просто вставила в "Ассемблер" (так удобнее код просматривать, чем просто сплошной текст), не заметила сразу "Windows Batch file".
0
Любознательный
 Аватар для YuS_2
7405 / 2255 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
29.05.2017, 19:01
Студенты вышли на сессию...

Leila_1994, вы видимо все из одного учебного заведения, если конечно, все эти посты пишет не один и тот же человек...
Вы вообще, хоть что-нибудь из приведенного кода понимаете? Или только копируете задание сюда?
Полистайте темы на форуме и ответ, возможно, найдется... если, конечно, помимо писательского таланта, проявите ещё и читательский...
1
1 / 1 / 0
Регистрация: 05.11.2015
Сообщений: 53
30.05.2017, 10:13  [ТС]
Я читала темы форума, я не нашла ответа .
Я выбрала из новой даты месяц так:
Windows Batch file
1
For /f "skip=1 tokens=4 delims=. " %%a in ('echo. ^| date') do @echo %%a
Подскажите, пожалуйста, как теперь сравнить этот месяц с месяцами файлов в этом каталоге, и вывести те файлы, у которых месяц создания равен этому месяцу.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
30.05.2017, 13:13
Например это выведет все файлы, дата создания которых равна указанной в переменной в коде:
Windows Batch file
1
2
3
4
@echo off
set "sdate=30.05.2017"
for /f "tokens=1-3*" %%a in ('dir /a-d/tc/-c "*.*"^|find "%sdate%"') do echo:Файл "%%~fd" [дата:"%%a",время:"%%b",размер:"%%c"]
pause
Дерзайте!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.05.2017, 13:13
Помогаю со студенческими работами здесь

Среди чисел 1, 2, . , n найти все такие, запись которых совпадает с последними цифрами записи их квадрата
Помогите, пожалуйста, разобраться с задачей: Задано натуральное двухзначное число n. Среди чисел 1, 2, ... , n найти все такие, запись...

Среди чисел найти все такие, запись которых совпадает с последними цифрами записи их квадрата
Задание: Заданное натуральное двухзначное число n. Среди чисел 1,2, ..., n найти все такие, запись которых совпадает с последними цифрами...

Найти все натуральные числа меньше заданного, запись которых совпадает с последними цифрами их квадрата
Пользователь вводит натуральное число. Найти все натуральные числа, меньше введенного числа, запись которых совпадает с последними цифрами...

Среди чисел 1, ..., n найти все такие, запись которых совпадает с последними цифрами записи их квадрата
Среди чисел 1, ..., n найти все такие, запись которых совпадает с последними цифрами записи их квадрата. Составил алгоритм, а дальше тю-тю....

Среди чисел 1,2,...,n найти все такие, запись которых совпадает с последними цифрами записи их квадрата
Дано натуральное число n . Среди чисел 1,2,...,n найти все такие, запись которых совпадает с последними цифрами записи их квадрата (как,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru