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

Отсортировать по дням, месяцам или годам создания файлов

26.10.2019, 16:38. Показов 9668. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такое задание: Вывести содержимое папки, отсортированное на выбор (с использованием команды choice) по дням, месяцам или годам создания файлов. Имя папки брать как параметр командного файла.

Решение вижу примерно так, только не знаю как отсортировать по дням, месяцам или годам создания файлов.
Подскажите, как отсортировать по дням, месяцам или годам создания файлов?)

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ECHO OFF
cls
 
set "pass=Specify the path to the file:"
set /p "pass=%pass%"
echo. %pass%
 
echo. Choose 1, 2 or 3
echo. 1 - sort by day
echo. 2 - sort by month
echo. 3 - sort by years
 
choice /c 123 /n
set oper=%errorlevel%
 
if %oper% == 1 (echo. Sorted by day && dir "%pass%" )
if %oper% == 2 (echo. Sorted by months && dir "%pass%")
if %oper% == 3 (echo. Sorted by years && dir "%pass%")
pause
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.10.2019, 16:38
Ответы с готовыми решениями:

Вывести содержимое папки, отсортированное на выбор (с использованием команды choice) по дням, месяцам или годам создания
2) Вывести содержимое папки, отсортированное на выбор (с использованием команды choice) по дням, месяцам или годам создания файлов. Имя...

по годам и месяцам (2 уровня заголовков столбцов)
Добрый день! Подскажите пожалуйста как вывести 2 уровня заголовков столбцов, т.е. как в Excel'е когда идёт год, а под ним месяца ...

GRIDVIEW и MSSQL - вывод статистики по месяцам/неделям/дням
В ходе формирования отчёта столкнулся с проблемой - необходимо выводить табличку результатов для определённых объектов при этом структура...

8
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
28.10.2019, 04:38
на отцепись от препода или куда копать (минивозможности cmd)
Windows Batch file
1
2
3
4
5
6
7
8
9
10
@echo off
for /f "tokens=1,3*" %%a in ('dir /a-d/tc "C:\Papka"^|findstr /rc:"^[^ ]"') do (
 :: По дням
 echo %%a|>nul findstr /rc:"^1[0-5]"&& echo %%c
 :: По месацам
 echo %%a|>nul findstr /rc:".*\.0[4-8]"&& echo %%c
 :: По годам
 echo %%a|>nul findstr /rc:".*\..*\.201[6-8]"&& echo %%c
)
pause
1
 Аватар для volodin661
6685 / 2277 / 347
Регистрация: 10.12.2013
Сообщений: 7,862
28.10.2019, 12:49
Есть весёлое решение на powershell:
PowerShell
1
2
3
4
5
function A {  gci | Sort-Object { $_.LastWriteTime.Day   -as [int16]}} 
function B {  gci | Sort-Object { $_.LastWriteTime.Month -as [int16]}} 
function C {  gci | Sort-Object { $_.LastWriteTime.Year  -as [int16]}}
function X { global:prompt { $null }}
function prompt { "A. sort files by day`nB. sort files by month`nC. sort files by year`nX. exit`nEnter your choice > "}
После отрабатывания 5-ой строчки ( function prompt ) сменится подсказка собственно оболочки powershell
и будет она выглядеть так:
Code
1
2
3
4
5
A. sort files by day
B. sort files by month
C. sort files by year
X. exit
Enter your choice >
И если пользователь введёт А, то отработает функция А, если B, то отработает функция B итд.
А если X, то отработает функция X и подсказка сбросится на стандартную подсказку оболочки powershell.
4
1 / 1 / 0
Регистрация: 01.11.2017
Сообщений: 164
01.11.2019, 00:21  [ТС]
Цитата Сообщение от alpap Посмотреть сообщение
минивозможности cmd)
Я правильно понимаю, что мой файл должен выглядеть примерно так?)
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
ECHO OFF
cls
 
set "pass=Specify the path to the file:"
set /p "pass=%pass%"
echo. %pass%
 
echo. Choose 1, 2 or 3
echo. 1 - sort by day
echo. 2 - sort by month
echo. 3 - sort by years
 
choice /c 123 /n
set oper=%errorlevel%
 
for /f "tokens=1,3*" %%a in ('dir /a-d/tc "%pass%"^|findstr /rc:"^[^ ]"') do (
 :: По дням
 echo %%a|>nul findstr /rc:"^1[0-5]"&& echo %%c
 :: По месацам
 echo %%a|>nul findstr /rc:".*\.0[4-8]"&& echo %%c
 :: По годам
 echo %%a|>nul findstr /rc:".*\..*\.201[6-8]"&& echo %%c
)
 
pause
Типо щас это выдает:
Миниатюры
Отсортировать по дням, месяцам или годам создания файлов  
0
1 / 1 / 0
Регистрация: 01.11.2017
Сообщений: 164
01.11.2019, 00:23  [ТС]
Цитата Сообщение от volodin661 Посмотреть сообщение
подсказка сбросится на стандартную подсказку оболочки powershell.
Спасибо, конечно, но до powershell я пока не дошел)
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
01.11.2019, 00:37
в моей директории были файлы, созданные в диапазонах
"^1[0-5]" - 10.??.????-15.??.????
".*\.0[4-8]" - ??.04.????-??.08.????
".*\..*\.201[6-8]" - ??.??.2016-??.??.2018

в вашей видно нет таких или что-то не так делаете.

Добавлено через 1 минуту
Цитата Сообщение от noname12345 Посмотреть сообщение
до powershell я пока не дошел
для данной задачи с него надо именно начинать и вполне им же и закончить.
0
 Аватар для b0gus
741 / 339 / 134
Регистрация: 17.03.2014
Сообщений: 841
01.11.2019, 07:59
noname12345, а ежели "промотать" страницу ниже и в "похожих темах" посмотреть
"Вывести содержимое папки, отсортированное на выбор (с использованием команды choice) по дням, месяцам или годам создания" - поможет ?
0
1 / 1 / 0
Регистрация: 01.11.2017
Сообщений: 164
03.11.2019, 00:38  [ТС]
Цитата Сообщение от b0gus Посмотреть сообщение
поможет ?
не поможет, там слишком замудренное решение
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
03.11.2019, 01:14
Цитата Сообщение от noname12345 Посмотреть сообщение
там слишком замудренное решение
ну так вон volodin661, в п.3 привел вам простое решение. Вы хотите на языке, который с датами работать практически не умеет, сделать краткое изящное и понятное решение - не получится, во-первых через пень колоду, во-вторых громоздко и в-третьих, естественно непонятно (иной раз даже тому кто делает )
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.11.2019, 01:14
Помогаю со студенческими работами здесь

Flot.js и график в разрезе дат (по дням, по неделям, по месяцам)
Доброго времени суток! Не получается построить ступенчатую диаграмму в разрезе дат. Желательно чтобы можно было масштабировать по дням,...

Отсортировать список студентов по годам и по группам
Нужно написать программу с++:(Массивы)Есть группа студентов из 10 человек.С 1999 года до 2003.Нужно вывести все года на экран и найти самых...

Отсортировать список файлов указанного каталога по датам создания и записать его в указанный файл
Создать командный файл, который сортирует список файлов указанного каталога по датам создания и записывает его в указанный файл. Выводит на...

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

Раскидывание файлов по месяцам
Всем доброго времени суток, прошу написать программу которая из 1 папки с находящимися в ней файлами (в именах файлов написаны даты)...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru