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

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

Ветеран


Contributor


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

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


Цитата EricScream:
брать имя до нижнего подчеркивания »
КП-11111_1.* КП-11111_2.* КП-11111.* будут помещены в одну папку. Итд.
Код: Выделить весь код
@Echo Off

Set "BoxIn=Z:\Box_In"
Set "Mask=*.png *.jpg *.ico *.gif *.tif"

Pushd "%BoxIn%" && (
	FOR /F "usebackq tokens=1* delims=_" %%i IN (`Dir /B /A:-D %Mask% 2^>nul`) DO (
		If "%%j"=="" (
			If Not Exist "%%~ni" Md "%%~ni"
			Move "%%i" "%%~ni\" >nul 
		) Else (
			If Not Exist "%%i" Md "%%i" 
			Move "%%i_%%j" "%%i\" >nul
		)  
	)
)
Popd
Если надо вот так: КП-11111_1.* КП-11111_2.*, то:
Код: Выделить весь код
@Echo Off

Set "BoxIn=Z:\Box_In"
Set "Mask=*.png *.jpg *.ico *.gif *.tif"

Pushd "%BoxIn%" && (
	FOR /F "usebackq tokens=1* delims=_" %%i IN (`Dir /B /A:-D %Mask% 2^>nul`) DO (
		If Not "%%j"=="" (
			If Not Exist "%%i" Md "%%i" 
			Move "%%i_%%j" "%%i\" >nul
		)  
	)
)
Popd

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


Последний раз редактировалось megaloman, 29-08-2017 в 12:06.


Отправлено: 11:52, 29-08-2017 | #2