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

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

Ветеран


Contributor


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

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


Можно соединить идею Iska и alpap, а в Move написать перемещение не по файлу, а группой за дату (ИМХО, сработает быстрее)
Код: Выделить весь код
@Echo Off
cls
	Set "BoxIn=Z:\Box_In"
	For /f "usebackq tokens=1-3* delims=-" %%i In (
		`2^>nul Dir /A:-D /B "%BoxIn%\????-??-??-*.*"^| findstr.exe /B /R /C:"^[0-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]-"`) Do (
		If Exist "%BoxIn%\%%i-%%j-%%k-%%l" (
			2>nul Md "%BoxIn%\%%i-%%j-%%k"
			>NUL Move /Y "%BoxIn%\%%i-%%j-%%k-*.*" "%BoxIn%\%%i-%%j-%%k\"
		)
	)
Pause
Exit /B 0
Хотя, ИМХО, от findstr (выделено красным) можно и вовсе отказаться с незначительным ухудшением контроля имен, но с меньшим временем выполнения, хотя всё это для разовой задачи несущественно, раз она решена.

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

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

Отправлено: 08:56, 11-02-2021 | #5