Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
cls
 	Set "BoxIn=Z:\Box_In"

	FOR /F "usebackq delims=" %%f In (`2^>nul Dir /B /A:-D "%BoxIn%\*_20??-??-??.*"`) DO If Exist "%BoxIn%\%%f" (
			Set "Name=%%~nf"
			Call Echo %%Name%%|>nul 2>&1 FindStr/I /R /C:"^.*_20[0-9][0-9]-[0-1][0-9]-[0-3][0-9]$"&& (
				Call Set "Name=%%Name:~0,-11%%"
				Call 2>nul Md "%BoxIn%\%%Name%%"
				Call >nul Move /Y "%BoxIn%\%%Name%%_20??-??-??.*" "%BoxIn%\%%Name%%\"
	))
Pause
Exit /B
То же, чуть проще и быстрее, но менее надёжно
Код: Выделить весь код
@Echo Off
cls
 	Set "BoxIn=Z:\Box_In"

	FOR /F "usebackq delims=" %%f In (`2^>nul Dir /B /A:-D "%BoxIn%\*_20??-??-??.*"`) DO If Exist "%BoxIn%\%%f" (
			Set "Name=%%~nf"
			Call Set "Name=%%Name:~0,-11%%"
			Call 2>nul Md "%BoxIn%\%%Name%%"
			Call >nul Move /Y "%BoxIn%\%%Name%%_20??-??-??.*" "%BoxIn%\%%Name%%\"
	)
Pause
Exit /B

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


Последний раз редактировалось megaloman, 18-03-2022 в 09:40.


Отправлено: 22:26, 17-03-2022 | #5