Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Определение количества подкаталогов

Ответить
Настройки темы
CMD/BAT - [решено] Определение количества подкаталогов

Пользователь


Сообщения: 62
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день!
Необходимо посчитать количество подкаталогов в заданной папке и ее подкаталогах. При этом нужно использовать For /D (такое вот странное требование). Каким образом? Или части Do записать условие IF, которое будет проверять, является ли текущий каталог самым "нижним"?

Отправлено: 15:08, 26-04-2013

 

Старожил


Сообщения: 352
Благодарности: 119

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
set /a Dirs=0
for /d %%d in (%Temp%\*) do set /a Dirs+=1
set Dirs

Отправлено: 19:56, 26-04-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 62
Благодарности: 0

Профиль | Отправить PM | Цитировать


kiripanda, пару вопросов возникло:

1. директория, в которой осуществляется поиск, задается перед for /d с помощью переменной Temp, правильно?
2. но ведь данный скрипт не будет подсчитывать количество вложенных подкаталогов?

Отправлено: 20:50, 26-04-2013 | #3


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@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
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:12, 26-04-2013 | #4


Пользователь


Сообщения: 62
Благодарности: 0

Профиль | Отправить PM | Цитировать


gora, благодарю, то что нужно!

Отправлено: 21:23, 26-04-2013 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Они хотели рекурсию — они её получили!

Код: Выделить весь код
dir /s /b /a:d | find.exe /v "" /c
Условиям ТЗ задачи:
Цитата kelevara:
нужно использовать For /D (такое вот странное требование) »
разумеется, не удовлетворяет.

Отправлено: 08:39, 27-04-2013 | #6


Пользователь


Сообщения: 62
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, ага, в полный рост )))

Отправлено: 12:30, 27-04-2013 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Определение количества подкаталогов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - Копирование файлов из каталогов и подкаталогов с сохранением структуры подкаталогов spke Скриптовые языки администрирования Windows 0 10-04-2013 23:58
Разное - Win 7(x64)ultima и определение количества установленной памяти eolus Microsoft Windows 7 1 10-11-2012 16:13
VBS/WSH/JS - [решено] Определение количества строк в DBF файле xilit Скриптовые языки администрирования Windows 2 01-04-2011 22:50
Delphi - Определение количества RAM и количества видеопамяти stasmd Программирование и базы данных 17 05-04-2010 13:35
Теория - Regexp-ы, определение количества совпадений hasherfrog Программирование и базы данных 2 02-04-2009 12:11




 
Переход