1

У меня очень большая библиотека электронных книг. Структура выглядит следующим образом:

/Library
   /Author Name
      /Book Name
         /{.pdf .mobi .epub eBook files}, {.opf metadata files}, {.jpg book cover files}

Около 15% из 11 000 папок "Имя книги", которые у меня есть, содержат только файл .opf и иногда обложку .jpeg/.jpg/.png/.gif без файлов электронных книг.

Я хотел бы написать что-то, что может найти папки, которые не содержат файл электронной книги (.pdf/.epub/.mobi) и удалить содержимое папки "Имя книги", самой папки "Имя книги", и если это является единственной папкой "Имя книги" в папке "Имя автора", также удалите папку "Имя автора".

Я полностью знаю об этом, но продолжу исследовать и публиковать свои результаты здесь, если кто-то другой не сможет мне помочь.

1 ответ1

1

Предполагая, что вы находитесь на недавней Windows ... Я бы сломал это в два этапа.

CD к "Библиотеке" и ...

  1. Удалить файлы в папках без электронных книг:

    for /f "delims=" %F in ('dir /s/b/a-d *.opf') do dir /b "%~pF*.pdf" "%~pF*.epub" "%~pF*.mobi" || del "%~pF*.*"
    

    (Если вам нужно удалить много файлов, добавьте параметр /q, чтобы запретить вывод запросов)

  2. Рекурсивно удалить пустые каталоги в Windows:

    for /f "delims=" %D in ('dir /s/b/ad ^| sort /r') do rd "%D"
    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .