Я хотел бы найти все папки по определенному пути (C: \ main_folder), в которых нет файлов.
Я нашел способ с помощью cmd:
@echo off
setlocal
set "folder=C:\main_folder"
for /r "%folder%" /d %%F in (.) do dir /b "%%F" | findstr "^" >nul || (echo %%~fF) > "C:\empty_folders_list.txt"
но если у меня есть
C:\main_folder\folder_1
, содержащий folder_2
и без файлов, и
C:\main_folder\folder_1\folder_2
без файлов, этот код выдаст только
C:\main_folder\folder_1\folder_2
, в то время как я хотел быиметь также C:\main_folder\folder_1
.
Он не должен смотреть только на папки, в которых нет файлов, потому что я могу иметь C:\main_folder\folder_3
, содержащий folder_4
и без файлов, но если C:\main_folder\folder_3\folder_4
содержит файл, folder_3
и folder_4
не должны быть в списке.
И после получения списка я хочу удалить их (список предназначен только для проверки / сохранения их).
Как сделатьЯ это пишу? Спасибо!