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

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

Ветеран


Contributor


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

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


Цитата peequ84:
Большая часть файлов имеет следующее имя: Фамилия(пробел)инициалы.через.точку(пробел)дата в формате 01.01.18.
То есть (Иванов А.Б. 02.02.2018.JPG), »
Вот вариант для имен "Фамилия И.О. дд.мм.гггг.расширение". Здесь сделан контроль на то, что в нужной позиции содержится номер года. Возможно, это излишне жестко
Код: Выделить весь код
@Echo Off                                                                                                 
cls
	Call :Folders "Z:\Box_In" "* ?.?. ??.??.????.jpg" "Z:\Box_Out" 
	Call :Folders "Z:\Soft_In" "* ?.?. ??.??.????.jpg" "Z:\Box_Out" 
pause
GoTo :Eof

:Folders
	FOR /F "usebackq delims=" %%f IN (`2^>nul Dir /B /O:-D /S "%~1\%~2"`) DO Call :MoveName "%%f" %1 %3
Exit /B

:MoveName
	FOR /F "tokens=1,2,3,6 delims=. " %%i IN ("%~nx1") DO (
		If 12000 LEQ 1%%l If 1%%l LEQ 12099 (
			If Not Exist "%~3\%%i%%j%%k" MD "%~3\%%i%%j%%k"
			   Echo Move %1 "%~3\%%i%%j%%k\"
				Move %1 "%~3\%%i%%j%%k\" >nul
		)
	)
Exit /B
Если ориентироваться только на "Фамилия И.О.*.расширение"
Код: Выделить весь код
@Echo Off                                                                                                 
cls
	Call :Folders "Z:\Box_In" "* ?.?.*.jpg" "Z:\Box_Out" 
	Call :Folders "Z:\Soft_In" "* ?.?.*.jpg" "Z:\Box_Out" 
pause
GoTo :Eof

:Folders
	FOR /F "usebackq delims=" %%f IN (`2^>nul Dir /B /O:-D /S "%~1\%~2"`) DO Call :MoveName "%%f" %1 %3
Exit /B

:MoveName
	FOR /F "tokens=1,2,3 delims=. " %%i IN ("%~nx1") DO (
		If Not Exist "%~3\%%i%%j%%k" MD "%~3\%%i%%j%%k"
		Echo Move %1 "%~3\%%i%%j%%k\"
		     Move %1 "%~3\%%i%%j%%k\" >nul
	)
Exit /B
Цитата peequ84:
Свалено все это в несколько папок. »
Пропишите в батнике нужное количество строк Call :Folders .... с нужными путями папок (без \ на конце) и расширением

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


Последний раз редактировалось megaloman, 12-10-2018 в 09:39.

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

Отправлено: 21:40, 11-10-2018 | #2