astranavt
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору NIGG18rus а, ну надо смотреть как то приложение, которое ты используешь, принимает аргументы и что оно делает с передаваемыми файлами. Когда ты поднял эту тему, я вспомнил, что штатный распаковщик в Switch иногда не срабатывает с некоторыми zip-архивами, выдает ошибку. А 7zip распаковывает их спокойно. Поэтому я с помощью execute command сделал замену штатному инструменту unarchive: в пути к exe - путь к 7z.exe. Arguments: 'e "%1" -o%3 *.pdf *.tif *.tiff -r' (без внешних кавычек) Output: result in a folder. Разберем аргументы: e - команда 7z extract - распаковать. "%1" - здесь согласно инструкции 7z должен быть путь к распаковываемому файлу. %1 - это встроенная переменная, в которую Свич передает путь к обрабатываемому командой файлу. В кавычках, чтобы в случае наличия пробелов в названии папок и файлов всё передалось полностью. -o - аргумент команды e в 7z, который указывает, в какую папку надо распаковать архив. Сразу после неё должен быть указан путь к папке, в которую будут распакованы файлы из архива. Логика распаковки архива какая: исходный архив остается лежать там, где он лежал, а Switch создаст временную папку, передаст путь к ней в 7z, дождется, пока команда отработает (при удачной отработке 7z предает exit code 0, так Switch понимает, что команда завершена), в папке появится содержимое архива, которое и будет передано дальше как единый job folder. Output: result in a folder потому, что мне надо, чтобы Свич для распаковки создавал временную папку автоматически. И у меня в аргументах указана переменная %3 - это как раз и есть путь к такой. В подсказке Свича для пункта Output так и написано: при выборе output in a folder используйте %3. Дальше идут маски файлов, которые мне нужны: *.pdf *.tif *.tiff, но их можно опустить, и тогда будет архив распакован как есть. -r - аргумент recursive, распаковывать архивы рекурсивно. В результате получается job folder, который я затем разбираю на отдельные файлы с помощью job dismantler. Метаданные оригинального архива передаются каждому распакованному файлу. Ты используешь скрипт на питоне, я конкретно помочь не могу, потому что не пользуюсь питоном, но логика у тебя должна быть примерно такая же: в аргументах к скрипту тебе надо указывать путь к исходному файлу с помощью %1, путь к папке, в которой будут лежать извлеченные страницы с помощью %3 (если твой скрипт поддерживает передачу ссылки на папку, куда надо положить готовые файлы), ну и Output: result in a folder. Если передать в скрипт можно только ссылку на сам файл, то попробуй output: result next to input job, ну и в аргументах тогда нужен только аргумент %1. | Всего записей: 190 | Зарегистр. 11-10-2006 | Отправлено: 17:27 24-09-2024 | Исправлено: astranavt, 18:21 24-09-2024 |
|