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

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

Ветеран


Contributor


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

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


Этот вариант надёжнее, но он работать у Вас скорее всего не будет: похоже, нет указанных папок, так как dir даже не выходит на Echo для отображения имени папки. Возможно, дело в именах папок: допустим, Вы считаете, что К -русская, а на самом деле -K -латинская. У меня работает с разными уровнями вложенности, ИМХО, это для моего кода не принципиально, лишь бы длина полного имени файла была не слишком большая
Код: Выделить весь код
@Echo Off
cls
	Set "BoxIn=r:"
	Set "MaskIn="*КЖ*.*" "*КМ*.*""
 
	Set "BoxOut=Z:\Box_Out" 

	Pushd "%BoxIn%\" &&(
	FOR /F "usebackq delims=" %%d IN (`2^>nul Dir %MaskIn% /B /S /A:D`) DO (
		Echo %%d
		>nul xcopy "%%d\*.*" "%BoxOut%%%~pnxd\" /E /Q /Y /R /H /Z /D
	)
	Popd)
pause
GoTo :Eof
Попробуйте проделать
dir R:\*КЖ* R:\*КМ* /B /S /A:D >D:\txt2.txt
Вы увидите в файле D:\txt2.txt искомые папки?

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


Последний раз редактировалось megaloman, 21-06-2018 в 13:07.

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

Отправлено: 13:01, 21-06-2018 | #16