Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Постановка:
Есть "Директория\Папка"
В ней файлы "Директория\Папка\Папка_ДД-ММ-ГГГГ_ччмм.zip"
Их надо рассортировать по подпапкам:
"Директория\Папка\ГГГГ\ММ\Папка_ДД-ММ-ГГГГ_ччмм.zip"
Если это так, то:
Код: Выделить весь код
@Echo Off
cls
	Call :MySort "Z:\Box_Arc\APPV012\Leak Detection System"
	Call :MySort "Z:\Box_Arc\APPV012\PTM for HVAC"
	Call :MySort "Z:\Box_Arc\UATV021\Flert"
pause
Exit /B

:MySort
	FOR /L %%y IN (2000,1,2050) DO For %%m In (01 02 03 04 05 06 07 08 09 10 11 12) Do (
		If Exist "%~1\%~nx1_??-%%m-%%y_????.zip" (
			2>nul Md "%~1\%%y\%%m"
			>nul Move "%~1\%~nx1_??-%%m-%%y_????.zip" "%~1\%%y\%%m\"
		)
	)
Exit /B
Пути пропишИте свои.
Чтобы не возиться с выделением из имен года и месяца, забил диапазон годов 2000 ... 2050
Для времени выполнения, ИМХО, это несущественно

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 26-01-2022 в 00:38.

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:26, 26-01-2022 | #2