Я думаю FOR
/ IF NOT EXIST
твои друзья, в этом случае ...
Для непосредственных подпапок текущей папки ...
for /d %A in (*) do @if not exist "%~fA\Arg\*" echo %~fA
Или рекурсивно, из текущей папки вниз ...
for /d /r %A in (*) do @if not exist "%~fA\Arg\*" echo %~fA
Или рекурсивно, с заданного пути ...
for /d /r X:\pathto %A in (*) do @if not exist "%~fA\Arg\*" echo %~fA
Наоборот...
for /d %A in (*) do @if exist "%~fA\Arg\*" echo %~fA for /d /r %A in (*) do @if exist "%~fA\Arg\*" echo %~fA for /d /r X:\pathto %A in (*) do @if exist "%~fA\Arg\*" echo %~fA
В пакетном файле вам нужно экранировать %
символ ...
for /d %%A in (*) do @if exist "%%~fA\Arg\*" echo %%~fA for /d /r %%A in (*) do @if exist "%%~fA\Arg\*" echo %%~fA for /d /r X:\pathto %%A in (*) do @if exist "%%~fA\Arg\*" echo %~fA for /d %%A in (*) do @if not exist "%%~fA\Arg\*" echo %%~fA for /d /r %%A in (*) do @if not exist "%%~fA\Arg\*" echo %%~fA for /d /r X:\pathto %%A in (*) do @if not exist "%%~fA\Arg\*" echo %~fA
Если вы делаете это регулярно, возможно, макрос ...
doskey nosubdir=for /d %A in (*) do @if not exist "%~fA\$*\*" echo %~fA doskey nosubdirrec=for /d /r %A in (*) do @if not exist "%~fA\$*\*" echo %~fA ... cd /d x:\pathto nosubdir Arg nosubdirrec Arg