Здравствуйте, помогите пожалуйста в решении следующей проблемы:
В основной папке находится 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
... и т.д.
CMD/BAT - [решено] Создать список имен папок с указанием кол-ва файлов в каждой.
-
Iska
Re: CMD/BAT - [решено] Создать список имен папок с указанием кол-ва файлов в каждой.
Цитата Metallor:
сколько в ней находится файлов
Только в ней самой или включая файлы во вложенных папках?
сколько в ней находится файлов
CMD/BAT - [решено] Создать список имен папок с указанием кол-ва файлов в каждой.
Только в ней самой или включая файлы во вложенных папках?
-
Metallor
Re: CMD/BAT - [решено] Создать список имен папок с указанием кол-ва файлов в каждой.
Iska
В каждой подпапке находятся только файлы. Так что да, только в ней самой.
В каждой подпапке находятся только файлы. Так что да, только в ней самой.
-
Metallor
Re: CMD/BAT - [решено] Создать список имен папок с указанием кол-ва файлов в каждой.
Код:
Код: Выделить всё
@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
)-
Metallor
Re: CMD/BAT - [решено] Создать список имен папок с указанием кол-ва файлов в каждой.
megaloman
Получается так:
300 0001 ''Папка'' [D-4, us, Фильмы]
345 0002 Папка [часть 1] [D-4, us, Фильмы]
А хотелось бы так:
0001 ''Папка'' [D-4, us, Фильмы]
300
0002 Папка [часть 1] [D-4, us, Фильмы]
345
Получается так:
300 0001 ''Папка'' [D-4, us, Фильмы]
345 0002 Папка [часть 1] [D-4, us, Фильмы]
А хотелось бы так:
0001 ''Папка'' [D-4, us, Фильмы]
300
0002 Папка [часть 1] [D-4, us, Фильмы]
345
-
Metallor
Re: CMD/BAT - [решено] Создать список имен папок с указанием кол-ва файлов в каждой.
Цитата megaloman:
Код:
Цитата Metallor:
А хотелось бы так:
Код:
Код:
Код: Выделить всё
>>"%TXT%" Echo !N:~-6! %%iCMD/BAT - [решено] Создать список имен папок с указанием кол-ва файлов в каждой.
Цитата Metallor:
А хотелось бы так:
CMD/BAT - [решено] Создать список имен папок с указанием кол-ва файлов в каждой.
Код:
Код: Выделить всё
>>"%TXT%" Echo %%i
>>"%TXT%" Echo !N:~-6!-
megaloman
Re: CMD/BAT - [решено] Создать список имен папок с указанием кол-ва файлов в каждой.
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!
)Пробелы впереди кол-ва файлов я делал для того, чтобы иметь возможность выровнять значения в первом столбце отчета в предыдущем решении для читаемости.