to antabu: Все просто, если мы хотим переименовать по какой-то маске, но нам надо извлечь из каждого файла номер страницы. Их в свойствах файлов нет.
to Marxist: Идею не пробовал - может и заслуживает внимания.
to rombach и другим:
В архиве представлены
autoit-v3-setup - необходимая программа для чтения скриптов
SciTE4AutoIt3 - необязательная, но удобная оболочка для редактирования скриптов (хотя можно и в блокноте)
FoxitReader - необходим для работы именно представленных скриптов (скрипты писались под него т.к. он небольшой, портабельный, быстрее acrobat7, хотя иногда сбоит при открытии некоторых файлов последних версий Pdf. В принципе скрипты могут писаться под любые приложения)
3 скрипта:
В качестве рабочей папки для всех скриптов можно использовать любую папку, имя пути однако должно состоять только из английских букв и цифр (От греха подальше у меня C:\Work)
ManualNamer10.7_FS - самый понятный в работе, но наименее приятный - после запуска запрашивает рабочую папку, просто по очереди открывает pdf файлы, показывает первую страницу и просит включить ваши глаза и ввести номер страниц или что-то еще в диалоговое окно самостоятельно.
Autonamer10.7_FS - Делает в начале делает запрос "Нажмите ДА, если номера страниц распознаны, НЕТ - если не распознаны, но их нужно распознать скриншотридером"
Нет нажимаете если файлы нераспознаны или распознаны коряво и вы чувствуете, что их возможно нормально перераспознать. В этом случае должен стоять Finereader8 по тому ажресу, что прописан с скипте вначале. Скриптом используется утилита ScreenshotReader.exe.
Код: Выделить всё
Const $ScrShotRead_dir = "C:\Program Files\ABBYY FineReader 8.0 Professional Edition\ScreenshotReader.exe"
Затем он анализирует все вложения, может открывать и закрывать Foxit - если папок много - это может занять от одной до несколькиз минут (Надстройка медленная и я не гений - может что-то написано нерационально). При этом в прогресс-окне внизу-слева пишется сколько папок из скольки обработано.
При открытии первого файла скрипт предлагает:
"Кликните в левый верхний угол области обработки", а затем "Кликните в правый нижний угол области обработки."
После закрытия каждого из этих окон нужно кликнуть по области страницы, обозначающие крайние точки для области выделения (там где номера страниц)
После этого он последовательно открывает все файлы, вложенные в рабочую папку, копирует или заново перераспознает указанную область, все символы нецифры заменяет на ~ и записывает в файл AutoNamer.ini. Если файл 20 секунд ( 20000 миллисекунд) не открылся
Код: Выделить всё
If WinExists($PDF_programm, "Foxit Reader, Best") = 1 or TimerDiff($begin)>20000 or MouseGetCursor()=15 Then ; Если ошибка при открытии pdf
скрипт убивает процесс его открытия и переименовует его в Corrupt_XXXXXXX. (Хотя иногда он был не прав. Из-за загруженности памяти машина просто не успевала)
Посути во время переименования за компом работать нельзя, т.к. скрипт эмулирует движение мыши и нажатие клавиш, поэтому можете включить предварительно IDM, музычку и ложиться спать. В случае необходимости можно запаузить скрипт пробелом или выключить Esc. После окончания его работы значек AutoIt (Треугольник в Сером круге) исчезает из трея.
После выключения скрипта вы можете продолжить начатое позже, однако незабудьте убрать из папки уже обработанное, чтоб он не делал все это второй раз.
Когда все файлы обработаны, я просматриваю в блокноте ini, удаляю лишние и сомнительные цифры, затем автоматически удаляю все ~.
Если вам повезет дойти до этой точки, я продолжу.
P.S. Повторюсь, что скрипт капризный. Maxis 2 недели назад присылал мне файлы. До сих пор не могу понять почему скрипт их не открывает.
Пишет "Все закончено!", хотя ничего и не начиналось. Сейчас попробую предложенную папку.