Показать полную графическую версию : [решено] Определение количества подкаталогов
kelevara
26-04-2013, 15:08
Добрый день!
Необходимо посчитать количество подкаталогов в заданной папке и ее подкаталогах. При этом нужно использовать For /D (такое вот странное требование). Каким образом? Или части Do записать условие IF, которое будет проверять, является ли текущий каталог самым "нижним"?
kiripanda
26-04-2013, 19:56
set /a Dirs=0
for /d %%d in (%Temp%\*) do set /a Dirs+=1
set Dirs
kelevara
26-04-2013, 20:50
kiripanda, пару вопросов возникло:
1. директория, в которой осуществляется поиск, задается перед for /d с помощью переменной Temp, правильно?
2. но ведь данный скрипт не будет подсчитывать количество вложенных подкаталогов?
@Echo Off
Set MyDir=e:\Temp 1\08
Call :_subdir "%MyDir%"
Echo.
Echo All subdirs = %SubDirs%
Pause>Nul
Exit
:_subdir
For /D %%s In ("%~1\*") Do (
Set /a SubDirs +=1
Echo %%s
Call :_subdir "%%~s"
)
GoTo :EOF
kelevara
26-04-2013, 21:23
gora, благодарю, то что нужно!
Они хотели рекурсию — они её получили! ;)
dir /s /b /a:d | find.exe /v "" /c
Условиям ТЗ задачи:
нужно использовать For /D (такое вот странное требование) »
разумеется, не удовлетворяет.
kelevara
27-04-2013, 12:30
Iska, ага, в полный рост )))
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.