@f1o007

Как правильно вывести часть пути?

Нужно перебрать все папки. Если в папке есть файл test.js. Нужно взять часть пути после начального и использовать его далее. А проблема в том что не получается вывести этот путь.
Если и получается, то это путь который используется в последнем шаге цикла.
Вложенность может быть любая, но вроде условие нормально срабатывает остается только вывод этого пути. Как его реализовать?
for /r "G:\test\batch" /d %%i in (*) do (
	Set namePath=%%i
    IF EXIST %%i\test.js (
        Set "namePath=%namePath:G:\test\batch=%"
        Set "namePath=%namePath:\=/%"
        echo "namePath : %namePath%"
    )
)
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
@res2001
Developer, ex-admin
В общем вы все делаете правильно, кроме нескольких нюансов.
Вот пример:
@echo off
SetLocal EnableDelayedExpansion
set "begindir=G:\test\batch"

for /r "%begindir%" %%i in (*) do (
	Set "namePath=%%i"
	set "namePath=!namePath:%begindir%=!"
	echo.!namePath!
)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы