Пакетное помещение вар из верхней петли в / г

Привет, я работаю над сценарием, который в основном для данной папки должен видеть, существует ли в этой папке jboss*\server. Прежде всего, я не могу включить jboss*/server, а только jboss*, в основном, подстановочный знак можно использовать только на имя файла, а не путь, это так, как это должно быть? Таким образом, чтобы обойти это, я думаю о внутренних циклах, которые решат это для меня, вот как я начал это делать

set jboss_dir_list=c: C:\TecsysDev\iTopiaControlPanel\trunk

for %%f in (%jboss_dir_list%) do (
    for /r %f% %%G in (jboss*) do echo %%G  
    rem for /f "usebackq delims=" %%D in (`dir /b %%f\jboss*`) do set "jboss_home_list=%jboss_home_list%%%D"

)

Я думал о включении третьего внутреннего цикла, который будет искать папку на сервере, но второй не работает, потому что% f% не расширяется, он пуст, и поэтому поиск выполняется в реальном каталоге dos, я попробовал с %%f%%, но все равно ничего, как я могу получить это вкратце?

2 ответа

Решение

Мое предложение, если %jboss_dir_list% переменная с разделенными пробелами строками:

for %%f in (%jboss_dir_list%) do for /f "delims=" %%G in ('dir /b /s /a-d "%%~f\jboss*"') do echo %%G  

Я использую findstr для "jboss.*\ Server", используя reqex

@echo off
setlocal EnableDelayedExpansion

for /f "tokens=*" %%a in ('dir /A:D /B /S "C:\TecsysDev\iTopiaControlPanel\trunk\"') do (
    echo %%a|findstr "jboss.*\server">nul
    if !errorlevel!==0 echo %%a

        rem Add your code here.
)
Другие вопросы по тегам