Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.68/212: Рейтинг темы: голосов - 212, средняя оценка - 4.68
Andzzzz

Удаление пустых каталогов и подкаталогов

09.07.2011, 13:25. Показов 46733. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Хотелось бы в определенном каталоге удалить все пустые каталоги и подкаталоги. данная команда "for /d %%i in ("D:\1\*") do rd /q "%%i" 2>nul" вычищает пустые каталоги на фиксированной глубине вложения папок. мне же необходимо наоборот, на не фиксированной глубине.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.07.2011, 13:25
Ответы с готовыми решениями:

Создание каталогов и подкаталогов с именами, составленными на основе текущей даты
Доброго всем времени суток ! Столкнулся с необходимостью создания BAT файла для работы в автоматическом режиме на локальной машине и...

Удаление файлов из каталога и подкаталогов
@echo off echo Udalenie filov if '%1'=='' goto n dir /b %1 del /p /s %1 \*.txt dir /b %1 goto m :n

Удаление подкаталогов, но с сохранением файлов
Добрый день! Как написать bat файл чтобы удалить подкаталог, а файл внутри перевести на уровень выше? Пример: ...

21
 Аватар для Angry Old Man
3600 / 753 / 317
Регистрация: 26.03.2022
Сообщений: 1,415
Записей в блоге: 1
28.02.2024, 19:32
Студворк — интернет-сервис помощи студентам
SimS_77,
Цитата Сообщение от SimS_77 Посмотреть сообщение
удаляет и пустые и не пустые папки.
Это результат Вашего грубого вмешательства.
У меня Rd "%%f"
У Вас Rd /s /q "%%f"
Низззьяяя!
Мой скрипт удаляет все пустые папки произвольного уровня вложения
0
 Аватар для volodin661
7151 / 2339 / 353
Регистрация: 10.12.2013
Сообщений: 8,109
28.02.2024, 23:01
Цитата Сообщение от SimS_77 Посмотреть сообщение
К сожалению результат работы программы такой:
о как.

мне такое не удастся воспроизвести.
тестировать не на чем.

тогда сделаем погрубее.

вот новая версия:

delempty.bat

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
@@@  IF EXIST "__%~N0.exe" ("__%~N0.exe" %*) & ( EXIT /B )  
@@@  FOR /F "TOKENS=3" %%X IN ('reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" /V InstallPath') DO @(SET DOTNET=%%X)
@@@  IF NOT DEFINED DOTNET (ECHO .NET ERROR. Goodbye ) & ( EXIT /B )
@@@  FINDSTR /B /VC:@@@  "%~F0" > "__%~N0.cs"
@@@  %DOTNET%CSC.EXE -NOLOGO -OPTIMIZE+ -OUT:"__%~N0.exe" -TARGET:exe "__%~N0.cs"
@@@  IF EXIST "__%~N0.exe" ("__%~N0.exe" %*)
@@@  EXIT /B
 
using System;
using System.IO;
using System.Linq;
 
class Program
{
    static void Main(string[] args)
    {
        if ( args.Length > 0 ) {
       
            DeleteEmptyDirs( args[0] );  
            Console.WriteLine( "All done !" );
        }
        else {
            Console.WriteLine( "Nothing to do. Specify starting directory" );
        }
    }
 
    static void DeleteEmptyDirs(string dir)
    {
        if (String.IsNullOrEmpty(dir))
            throw new ArgumentException(
                "Starting directory is a null reference or an empty string",
                "dir");
 
        try
        {
            foreach (var d in Directory.EnumerateDirectories(dir))
            {
                DeleteEmptyDirs(d);
            }
 
            var entries = Directory.EnumerateFileSystemEntries(dir);
 
            if (!entries.Any())
            {
                try
                {
                    Directory.Delete(dir);
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine(dir +" deleted");
                    Console.ResetColor();
                }
                catch (UnauthorizedAccessException) {}
                catch (DirectoryNotFoundException)  {}
                catch (IOException) {}
            }
        }
        catch (UnauthorizedAccessException) {}
        catch (DirectoryNotFoundException)  {}
        catch (IOException) {}
    }
 
}
чтобы подхватилось, удали предварительно старую версию исполняемого файла:

Windows Batch file
1
del __*.exe
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.02.2024, 23:01

Удаление файлов и очистка подкаталогов с сохранением структуры папок
Дорого времени суток. Прошу помощи в написании батника следующего свойства: Имеем сетевую файловую помойку - \\192.168.0.***\ В корне...

Переместить все файлы из всех подкаталогов в текущий каталог и удалить подкаталоги, если у них нет своих подкаталогов
Переместить все файлы из всех подкаталогов в текущий каталог и удалить подкаталоги, если у них нет своих подкаталогов

Удаление всех пустых файлов
1.Написать bat-файл, который удаляет все пустые файлы в каталоге, указанном в качестве параметра и все свои действия по удалению ...

Удаление определенных каталогов
Собственно, есть некая папка, в которой лежит батник. Нужно, чтобы он прошелся содержащимся в этой папке каталогам и подкаталогам, и если...

Удаление списка каталогов
Коллеги, помогите батником или может есть сторонние тулзы для такой, думаю, относительно тривиальной задачи: нужно сделать del /s /q по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru