powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Пакетные файлы : вывод списка файлов, созданных в первом полугодии
10 сообщений из 10, страница 1 из 1
Пакетные файлы : вывод списка файлов, созданных в первом полугодии
    #37628841
Фотография ivanov-void
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую!

Столкнулся с проблемой- нужно вывести все файлы заданной директории, созданные в первом полугодии указанного года. Собственно, вопрос - как задать диапазон месяцев. Следующий код выводит список файлов, созданных в указанном году:

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
@ECHO off 
CLS

SET /p dirName="Enter directory: " 
SET /p yearValue="Enter year: "

for /f "tokens=1,2,3,*" %%i in ('dir %dirName% /T:C /A:-D /O:N') do (^
	for /f "tokens=1,2,3 delims=." %%a in ('echo %%i') do (^
		if not "%%b"=="" (^
			if not %%a=="" (^
				if not %%b=="" (^
					if %%c==%yearValue% (^						
							echo %%a.%%b.%%c  %%j:  %%l 						
						)
					)
				)
			)
		)
	)
)	

PAUSE
EXIT



Буду весьма признателен за информацию.
...
Рейтинг: 0 / 0
Пакетные файлы : вывод списка файлов, созданных в первом полугодии
    #37628888
Фотография ivanov-void
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно, что можно организовать большое число вложенных проверок, например -

Код: powershell
1.
2.
3.
...
if %%b==01 ....
...



..однако хотелось бы более элегантного решения.
...
Рейтинг: 0 / 0
Пакетные файлы : вывод списка файлов, созданных в первом полугодии
    #37629201
Фотография ivanov-void
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не самое лучшее решение, конечно, но, возможно, кому- нибудь пригодится.
Если кому известны более интересные решения - был бы весьма признателен за информацию.

Код: powershell
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.
@ECHO off 

:input
cls
set /p start="start search? (y/n): "
if %start%==y (goto search) else (goto end)

:search
set fflag=0
set /p dirname="enter directory: "
set /p yearvalue="enter year: "

echo.
for /f "tokens=1,2,3,*" %%i in ('dir %dirname% /T:C /A:-D /O:N') do (^
	for /f "tokens=1,2,3 delims=." %%a in ('echo %%i') do (^
		if not "%%b"=="" (^
			if not %%a=="" (^
				if not %%b=="" (^
					if %%c==%yearvalue% (^
							if %%b==01 (^
								set fflag=1
								echo %%a.%%b.%%c  %%j:  %%l
							) else (^
								if %%b==02 (^
									set fflag=1
									echo %%a.%%b.%%c  %%j:  %%l
								) else (^
									if %%b==03 (^
										set fflag=1
										echo %%a.%%b.%%c  %%j:  %%l
									) else (^
										if %%b==04 (^
											set fflag=1
											echo %%a.%%b.%%c  %%j:  %%l
										) else (^
											if %%b==05 (^
												set fflag=1
												echo %%a.%%b.%%c  %%j:  %%l
											) else (^
												if %%b==06 (^
													set fflag=1
													echo %%a.%%b.%%c  %%j:  %%l
												)																									
											)
										)
									)
								)
							)
						) 
					)
				)
			)
		)
	)
)	

if %fflag%==1 (goto ffound) else (goto nffound)

:ffound
echo file's found
echo.
pause
goto input;

:nffound
echo file's not found
echo.
pause
goto input;

:end
pause
exit
...
Рейтинг: 0 / 0
Пакетные файлы : вывод списка файлов, созданных в первом полугодии
    #37629349
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне непонятно, почему для решения задачи выбран столь неподходящий инструмент как пакетная обработка? почему не использовать, например, VBS-скрипт? там уж точно не будет такого многоэтажного безобразия...

Я уж не говорю о том, что поиск ведётся не по дате создания (как заявлено в сабже), а по дате последней модификации. А это, как говорят в Одессе, две большие разницы...
...
Рейтинг: 0 / 0
Пакетные файлы : вывод списка файлов, созданных в первом полугодии
    #37629375
Фотография ivanov-void
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую, Akina!

Спасибо за информацию относительно альтернативных вариантов!
Однако задача сформулирована именно в контексте применения командного процессора Windows.
Дата последней модификации - это атрибут W.
...
Рейтинг: 0 / 0
Пакетные файлы : вывод списка файлов, созданных в первом полугодии
    #37629551
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivanov-voidПриветствую, Akina!

Спасибо за информацию относительно альтернативных вариантов!
Однако задача сформулирована именно в контексте применения командного процессора Windows.
Дата последней модификации - это атрибут W.
Взял хотя-бы порт Linux-ового find и в одну строчку решил-бы задачу.

А этот эпичный код достоин занесения в луркмоар.
...
Рейтинг: 0 / 0
Пакетные файлы : вывод списка файлов, созданных в первом полугодии
    #37629576
Фотография ivanov-void
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую, mayton!

Попробую с find, спасибо.
...
Рейтинг: 0 / 0
Пакетные файлы : вывод списка файлов, созданных в первом полугодии
    #37629632
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivanov-voidзадача сформулирована именно в контексте применения командного процессора Windows.
Домашнее задание в институте, что ли?

ivanov-voidДата последней модификации - это атрибут W.
Да, просмотрел. Сорри.
...
Рейтинг: 0 / 0
Пакетные файлы : вывод списка файлов, созданных в первом полугодии
    #37631884
Фотография kosh the best
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
=^_^=
Код: powershell
1.
2.
set /p year=[year?]
dir /A:-D /T:C | findstr /r "^[0-3][0-9]\.0[1-6]\.%year%"
...
Рейтинг: 0 / 0
Пакетные файлы : вывод списка файлов, созданных в первом полугодии
    #37634223
Фотография ivanov-void
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую, kosh the best!

Шикарное решение.
Благодарю!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Пакетные файлы : вывод списка файлов, созданных в первом полугодии
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]