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

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

Ветеран


Contributor


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

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


londondron,Вот код по Вашему заданию.
1. Файлы называются *_Прием.jpg Фамилия отделяется символом _ подчёркивания. В фамилии не может быть _
2. Если в выходной папке уже присутствует файл с совпадающим именем, файл не перемещается
3. Если папки нет, файл не перемещается.
Как описАли, так и сделано
Код: Выделить весь код
@Echo Off

chcp 1251 >nul

Set "BoxIn=Z:\Users\VML\OneDrive\Приказы"
Set "MaskIn=*_Прием.jpg"

Set "BoxOut=Z:\Users\VML\OneDrive\ЛИЧНЫЕ ДЕЛА" 
Set "MaskOut=??-??-?? "

FOR /F "usebackq delims=" %%f IN (`Dir "%BoxIn%\%MaskIn%" /B /A:-D 2^>nul`) DO (
	FOR /F "tokens=1 delims=_" %%i IN ("%%f") DO (
		FOR /F "usebackq delims=" %%d IN (`Dir "%BoxOut%\%MaskOut%%%i" /B /A:D 2^>nul`) DO (
			Move "%BoxIn%\%%f" "%BoxOut%\%%d\" >nul
		)
	)
)

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


Отправлено: 20:40, 21-03-2017 | #5