2

У меня есть несколько сотен (может быть, даже тысяча) файлов PDF; Я бы хотел, чтобы каждый из них находился в отдельных папках, в идеале с иерархией, которую я могу создавать на лету.

Есть ли разумный способ сделать это быстрее, чем сделать новую папку -> метка, а затем перетащить?

Глубина иерархии может составлять десяток или более. Некоторые папки могут иметь несколько файлов, но многие являются уникальными.

Буду признателен за ваши мысли SE!

3 ответа3

2

Вы можете начать с bash-скрипта следующим образом:

for i in {1..1000}
do
    mkdir $i_folder
done

это сделает 1000 папок с именами от 1 до 1000. Вы можете редактировать его, чтобы добавить свои собственные имена к цифрам. Вы можете добавить команду mv в цикл do для перемещения файлов в папки. Не зная больше о ваших файлах, это лучшее, что я могу сделать.

2

Сначала сделайте резервную копию, конечно!

for i in $(find . -maxdepth 1 -type f -iname "*.pdf" -exec basename "{}" .pdf \;); \
do mkdir $i; \
mv $i.pdf $i; \
done

Функция find просто получает файлы (-f) из текущего каталога (-maxdepth 1), имена которых заканчиваются на «.pdf», игнорируя регистр букв. Затем он берет часть имени файла перед .pdf (basename) и хранит ее в переменной.

Затем он создает каталог (mkdir) с использованием этой переменной, поэтому файл «AdobeFile.pdf» создаст каталог "AdobeFile", а затем перемещает (mv) файл в каталог.

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

Я не проверял правильную обработку имен файлов с пробелами или. в них ни со странными символами (как UTF8).

0

Поскольку вы пометили его как "программное обеспечение для органайзера": без того, чтобы я знал вашу запланированную иерархию, или даже вы сами еще не знали иерархию, это может быть довольно быстро затруднено. Вы можете попробовать это с умными папками, AppleScripts или FolderActions. Но в любом случае, иерархия должна быть достаточно хорошо разработана, прежде чем использовать их. Я хотел бы предложить использовать специализированное программное обеспечение для этой задачи.

В зависимости от типов PDF, «качества» имен файлов и качества встроенных в них метаданных: для этого есть много вариантов.

EagleFiler, Yojimbo, DevonThink - не единственные коммерческие претенденты, которые легко приходят на ум. Бесплатные приложения, которые создают для вас подобную iTunes иерархию, могут быть найдены либо в Calibre, особенно если встроенные метаданные имеют приемлемое качество, а документы более «книжного» типа, или BibDesk, если вы можете использовать идентификаторы, такие как DOI, поэтому это больше для научных PDF-файлов типа журнальной бумаги. Оба предлагают своего рода автоматическую регистрацию PDF-файлов. Если найти BibDesk исключительно подходит для этой задачи и вполне настраиваемый.

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