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

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

Ответить
Настройки темы
CMD/BAT - [решено] Создать список имен папок с указанием кол-ва файлов в каждой.

Новый участник


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

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


Изменения
Автор: Metallor
Дата: 24-03-2016
Здравствуйте, помогите пожалуйста в решении следующей проблемы:
В основной папке находится 1500 подпапок
E:\Основная папка\0001 ''Папка'' [D-4, us, Фильмы]
E:\Основная папка\0002 Папка [часть 1] [D-4, us, Фильмы]
E:\Основная папка\0003 Папка [часть 2] [D-4, us, Фильмы]
E:\Основная папка\0004 Папка [часть 3] [D-4, us, Фильмы]
E:\Основная папка\0005 Папка [часть 1] [D-4, us, Фильмы]
... и т.д.

Необходимо в виде текстового документа создать такой список, в котором под именем каждой подпапки указывалось сколько в ней находится файлов
0001 ''Папка'' [D-4, us, Фильмы]
300
0002 Папка [часть 1] [D-4, us, Фильмы]
345
0003 Папка [часть 2] [D-4, us, Фильмы]
568
0004 Папка [часть 3] [D-4, us, Фильмы]
25
0005 Папка [часть 1] [D-4, us, Фильмы]
9
... и т.д.

Отправлено: 08:37, 24-03-2016

 

Ветеран


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

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


Цитата Metallor:
сколько в ней находится файлов »
Только в ней самой или включая файлы во вложенных папках?
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:43, 24-03-2016 | #2



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

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


Новый участник


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

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


Iska
В каждой подпапке находятся только файлы. Так что да, только в ней самой.

Отправлено: 09:48, 24-03-2016 | #3


Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off

SetLocal EnableExtensions EnableDelayedExpansion

Set "In=E:\Основная папка"
Set "TXT=E:\Основная папка\__Count.txt"

Del "%TXT%" >nul 2>nul

FOR /F "usebackq delims=" %%i IN (`Dir "%In%\*.*" /B /A:D 2^>nul`) DO (
	Set /A N=0
	FOR /F "usebackq delims=" %%j IN (`Dir "%In%\%%i" /B /A:-D 2^>nul`) DO Set /A N+=1
	Set "N=        !N!"
	>>"%TXT%" Echo !N:~-6!  %%i
)

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:24, 24-03-2016 | #4


Новый участник


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

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


megaloman
Получается так:
300 0001 ''Папка'' [D-4, us, Фильмы]
345 0002 Папка [часть 1] [D-4, us, Фильмы]

А хотелось бы так:
0001 ''Папка'' [D-4, us, Фильмы]
300
0002 Папка [часть 1] [D-4, us, Фильмы]
345

Отправлено: 10:37, 24-03-2016 | #5


Ветеран


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

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


Цитата megaloman:
Код: Выделить весь код
>>"%TXT%" Echo !N:~-6! %%i
»
Цитата Metallor:
А хотелось бы так: »
Код: Выделить весь код
>>"%TXT%" Echo %%i
>>"%TXT%" Echo !N:~-6!
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:46, 24-03-2016 | #6


Ветеран


Contributor


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

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


Metallor, ИМХО, мой способ представления отчета более нагляден и читаем. Как Вам хочется, можно написать
Код: Выделить весь код
FOR /F "usebackq delims=" %%i IN (`Dir "%In%\*.*" /B /A:D 2^>nul`) DO (
	Set /A N=0
	FOR /F "usebackq delims=" %%j IN (`Dir "%In%\%%i" /B /A:-D 2^>nul`) DO Set /A N+=1
	>>"%TXT%" Echo %%i
	>>"%TXT%" Echo !N!
)
Пробелы впереди кол-ва файлов я делал для того, чтобы иметь возможность выровнять значения в первом столбце отчета в предыдущем решении для читаемости.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 16:53, 24-03-2016 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Список файлов из поддиректорий с указанием полного пути Sat_Kelman Скриптовые языки администрирования Windows 4 20-03-2020 17:17
Подскажите программу(определение субтитров у большого кол-ва файлов)! Aviator Видео и аудио: обработка и кодирование 0 09-05-2015 21:27
Разное - [решено] открытие большого кол-ва html файлов Alexander_88 Microsoft Windows 8 и 8.1 5 20-04-2015 20:55
CMD/BAT - [решено] Убрать расширение с большого кол-ва файлов cher Скриптовые языки администрирования Windows 4 30-03-2015 16:31
CMD/BAT - [решено] Удаление старых папок при превышении кол-ва n greenOwl Скриптовые языки администрирования Windows 2 11-07-2013 14:07




 
Переход