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

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

Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
Cls
	Set "FileIn=Z:\Box_In\*_*.txt"
	Set "Delim=_"

	Set "@@Out1=Z:\Box_Out\01010101"
	Set "@@Out2=Z:\Box_Out\02020202"
	Set "@@Out3=Z:\Box_Out\03030303"

	For %%i In ("%FileIn%") Do Call :Name "@@Out" "%Delim%" "%%i"

	Set /A N=0
	For %%i In ("%FileIn%") Do Set /A N+=1
	Echo !!! Осталось неперемещенными %N% файлов "%FileIn%"
pause
GoTo :Eof

:Name
	Set "S=%~n3"
	:Begin
		Set "SS=%S%
		Call Set "S=%%SS:*%~2=%%"
	If Not "%SS%"=="%S%" GoTo :Begin
	FOR /F "usebackq tokens=1* delims==" %%i IN (`2^>nul Set "%~1"`) DO (
		If "%%~nj"=="%S%" >nul Move /Y %3 "%%j\" &&Exit /B 0
	)
Exit /B 1
Пути для Out-папок могут быть произвольными без "\" на конце

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

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

Отправлено: 13:17, 12-02-2019 | #8