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

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

Ветеран


Contributor


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

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


Цитата blacks2:
Можно ли "Exit /B 0" - заменить на "goto :EOF" (или неуместно?) »
Можно, а зачем? Это ничего не меняет.
Цитата blacks2:
но в "логе", полученные пути-папки, содержащие кириллицу, выходили крякозяброй »
А чем смотрите? Notepad? Тогда наоборот, надо сохранять в кодировке 1251
Вот вариант
Код: Выделить весь код
@Echo Off
cls
>nul chcp 1251
	Set "BoxIn=Z:\Users\%USERNAME%\Edge\User Data\Default"
	Set "BoxA=Папка A"
	Set "BoxB=Папка B"

	Set "Log=Z:\Users\%USERNAME%\LogFile.log"
	>"%Log%" cd.
	FOR /F "usebackq delims=" %%d IN (`2^>nul Dir /B /S /A:D "%BoxIn%" ^|FIND /I "\%BoxA%"`) Do (
		If Exist "%%~dpd%BoxA%" If Exist "%%~dpd%BoxB%" (
			>>"%Log%" (Echo +++ "%%~dpd"&Echo "%%d"&Echo "%%~dpd%BoxB%")
			Call :AnyDo "%%~dpd" "%%d" "%%~dpd%BoxB%"
		)
	)
Pause
Exit /B 0

:AnyDo
	Echo -------- Что то делаем  %1
	Echo %2
	Echo %3
Exit /B 0
У меня работает, возможно, у Вас какие-то тонкости (скытые папки, например). Мне надо информация, по какому пути что не найдено.

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

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

Отправлено: 18:46, 19-05-2022 | #4