Подсчитать папки с именами, заканчивающимися) х - PullRequest
0 голосов
/ 10 мая 2018

У меня есть пакетный файл, в котором указано количество каталогов:

for /d %%a in (*) do set /a count+=1

Теперь мне нужно суммировать имена каталогов, заканчивающиеся строкой )x, например, Mona Lisa (1986)x

Я безуспешно пытался:

for /d %%a in (")x") do set /a count+=1

Ответы [ 3 ]

0 голосов
/ 10 мая 2018

Просто альтернатива, (разница в том, что это не игнорирует некоторые каталоги, , такие как скрытые ):

For /F %%A In ('Dir /AD "*)x" 2^>Nul') Do Set "count=%%A"

Вы действительно должны предшествовать этому сSet "count="

0 голосов
/ 10 мая 2018

Вы можете позволить команде find считать элементы, отфильтрованные командой dir :

dir /B /A:D "*)x" | find /C /V ""

Добавить или добавить 2> nul к части dir для подавления сообщений об ошибках, если таких каталогов не существует.

Чтобы получить результирующее значение и сохранить его в переменной, используйте for /F loop :

for /F %%C in ('2^> nul dir /B /A:D "*)x" ^| find /C /V ""') do set "COUNT=%%C"
echo %COUNT%
0 голосов
/ 10 мая 2018

for /d %%d in (*^)x) do set /a count+=1

Сначала вы можете проверить, правильно ли он их находит:

for /d %%d in (*^)x) do echo "%%~d"

...