Войти

Показать полную графическую версию : Вывести названия непустых папок


maxim43g
18-10-2022, 16:56
Добрый день.
Есть каталог, в нем 50 подкаталогов.
Можно как то при запуске bat файла, вывести на черном экране список подкаталогов которые НЕпустые.
Спасибо

DJ Mogarych
18-10-2022, 17:48
"Батник"

powershell -command "dir D:\temp |? {$_.psiscontainer -eq $true -and (dir $_.FullName |measure).count -ne 0}"
pause

megaloman
18-10-2022, 19:31
@Echo Off
cls
Set "BoxIn=D:\CMD_Forum"

Set /A N=1000000
FOR /F "usebackq delims=" %%i IN (`2^>nul Dir "%BoxIn%\*.*" /A:D /B`) DO (
Set /A N+=1
FOR /F "usebackq delims=" %%j IN (`2^>nul Dir "%BoxIn%\%%i\*.*" /B`) DO Call Set "@@@%%N%%=%BoxIn%\%%i"
)
FOR /F "usebackq tokens=1* delims==" %%i IN (`2^>nul Set "@@@"`) DO Echo %%j
Pause
Exit /B 0

maxim43g
19-10-2022, 14:53
DJ Mogarych, megaloman, спасибо вам!
помогите не далекому, как указать путь с русскими символами и пробелами? кавычки не помогли, chcp 1251 тоже, кодировка OEM-866 тоже

megaloman
19-10-2022, 15:55
По умолчанию в CMD принимается кодировка 866.
Соответственно, надо и путь в скрипте с кириллицей сохранять в 866 кодировке.
Если Вы пишите скрипт с кириллицей в 1251 кодировке, то в начале скрипта надо указать chcp 1251.
Прилагаю 2 файла в нужной кодировке (расширение txt удалите). Там прописано:

Set "BoxIn=Z:\Путь с пробелами и кириллицей"

Оба скрипта рабочие. Используйте любой, но при этом применяйте редактор который нормально отображает этот текст и сохраняйте скрипт в той же кодировке.
Пишите свои пути с русскими символами и пробелами по этому образцу, никакие дополнительные кавычки не применяйте.

maxim43g
19-10-2022, 16:09
Спасибо! всё работает




© OSzone.net 2001-2012