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

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

Ветеран


Contributor


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

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


surgutfred,
Пропишите свои пути и маску. Прпробуйте. Напишите
Код: Выделить весь код
@Echo Off
	Set "BoxIn=D:\Мой контент"
	Set "BoxOut=Z:\Box_Out\Мой контент"

	Set "Mask=*.bat"
rem	Set "Mask=*.*"
rem	Set "Mask=*.pdf *.fb2 *. *.epub"
	
	For /F "usebackq delims=" %%d IN (`2^>nul Dir "%BoxIn%" /B /S /A:D`) DO (
		Pushd "%%d" &&(
			For /F "usebackq delims=" %%f IN (`2^>nul Dir "%Mask%" /B /A:-D`) DO (
				Set "Nf=%%~tf"
				Call :MySort "%%f" "%BoxOut%\%%Nf:~6,4%%\%%Nf:~3,2%%\%%Nf:~0,2%%" 
			)
		Popd
		)
	)
GoTo :Eof

:MySort 
	If Not Exist %2 Md %2
	Copy %1 "%~2\" >nul || Echo %1  %2
GoTo :Eof
Замечание: копируем файлы по дате последнего изменения. Можно сделать и по дате создания, но придется привлечь wmic, что очень замедлит выполнение
Кроме того, я предполагал, что отображение даты в системе настроено на формат дд.мм.гггг, в противном случае надо код скорректировать

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


Последний раз редактировалось megaloman, 31-10-2018 в 17:25.

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

Отправлено: 17:07, 31-10-2018 | #3