Перелічіть папки в CMD, які НЕ мають певної підпапки


0

Я питання, де мені потрібно знайти всі папки на диску, який не має папки в них називається "Arg" ..Я знаю, як це зробити в зворотному за допомогою DIR, тобто знайти всі вкладені папки з певним ім'ям, \ t але як мені потрібно протилежне цьому .. Я покладаюся на мудрість суперкористувача, щоб допомогти Мені.

Дякую.

Відповіді:


0

я думаю 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

0

enter image description here

Якщо ви можете запустити рекурсивну директорію і перенаправити її вихідний файл у файл, ви будете на півдорозі. Решту можна виконати за допомогою команди find, яка шукає рядки, які містять або не містять заданий рядок.

Тут я перерахував мої каталоги в mydirs.lst. По-перше, я шукав каталоги, що містять рядок "Посилання", тоді я зробив протилежне, використовуючи перемикач / v.


Чи можете ви зробити певну різницю у списку, щоб дізнатися, які папки є, і що немає?
Aryat Mapreh
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.