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

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

Ветеран


Contributor


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

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


Numufar, До кучи еще вариант
Код: Выделить весь код
@Echo Off
	Set "BoxIn=Z:\Box_In" 
	Set "BoxOut=Z:\Box_Out"

	FOR /F "usebackq delims=" %%f IN (`2^>nul Dir /B /A:-D "%BoxIn%\??-??-20??_??-??-??_*_*.mp3"`) DO (
		FOR /F "tokens=7 delims=-_" %%i IN ("%%f") DO (
			If Not Exist "%BoxOut%\%%i" Md "%BoxOut%\%%i"
			Move "%BoxIn%\%%f" "%BoxOut%\%%i\" >nul
		)
	)
BoxIn и BoxOut могут совпадать
Если батник, файлы, создаваемые папки находятся в одной общей папке
Код: Выделить весь код
@Echo Off
	FOR /F "usebackq delims=" %%f IN (`2^>nul Dir /B /A:-D "%~dp0??-??-20??_??-??-??_*_*.mp3"`) DO (
		FOR /F "tokens=7 delims=-_" %%i IN ("%%f") DO (
			If Not Exist "%~dp0%%i" Md "%~dp0%%i"
			Move "%~dp0%%f" "%~dp0%%i\" >nul
		)
	)
Если BoxIn и BoxOut совпадают, также можно просто перетащить папку на скрипт в Проводнике
Код: Выделить весь код
@Echo Off
	If "%1"=="" Exit /B 1

	Set "BoxIn=%~1" 
	Set "BoxOut=%~1"

	FOR /F "usebackq delims=" %%f IN (`2^>nul Dir /B /A:-D "%BoxIn%\??-??-20??_??-??-??_*_*.mp3"`) DO (
		FOR /F "tokens=7 delims=-_" %%i IN ("%%f") DO (
			If Not Exist "%BoxOut%\%%i" Md "%BoxOut%\%%i"
			Move "%BoxIn%\%%f" "%BoxOut%\%%i\" >nul
		)
	)

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


Последний раз редактировалось megaloman, 18-12-2018 в 16:51.

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

Отправлено: 12:26, 18-12-2018 | #5