Applescript Noob, распакуйте файл .rar и переместите содержащий файл. - PullRequest
0 голосов
/ 08 августа 2011

Я никогда раньше не трогал сценарий Apple, мне просто нужен 1 маленький сценарий, но я не знаю, с чего начать.

Все, что я хочу сделать, - это запустить сценарий для действия с папкой.

для запуска, когда я помещаю файл rar в папку.он должен удалить и затем переместить файл, только если это файл фильма в другую папку ??

Возможно ли это?

Спасибо

Ли

1 Ответ

1 голос
/ 14 августа 2011

Загрузите RAR Expander и поместите приложение в папку «Приложения»: http://rarexpander.sourceforge.net/Downloads.html
Обязательно откройте RAR Expander один раз, прежде чем продолжить.

Теперь запустите следующий AppleScript:

property extensionList : {"mp4", "flv"}

tell application "Finder"

    set the sourceFolder to choose folder with prompt "Select Input Folder"
    set the outputFolder to choose folder with prompt "Select Output Folder"

    set inputFiles to every file of the sourceFolder whose name extension is "rar"

    repeat with i from 1 to the count of inputFiles
        set theArchive to POSIX path of ((item i of inputFiles) as string)
        tell application "RAR Expander"
            expand theArchive to POSIX path of outputFolder
        end tell
    end repeat

    set extractedFiles to every file of the outputFolder

    repeat with i from 1 to the count of extractedFiles
        if (the name extension of the (item i of extractedFiles) is not in the extensionList) then
            do shell script "rm -rf " & quoted form of (POSIX path of ((item i of extractedFiles) as string))
        end if
    end repeat

end tell

Рабочий процесс по сценарию объяснил:

  • Определение входной папки (содержащей один или несколько файлов RAR).
  • Определить выходную папку (пустую папку).
  • Извлечение архивов RAR из входной папки в выходную папку.
  • Перебирать файлы в выходной папке.
  • Сохранять только файлы с расширениями, указанными в списке расширений.

Например, входная папка содержит следующие файлы:

Archive_Containing_FLV_File.rar
Archive_Containing_MP4_File.rar
Archive_Containing_PDF_File.rar

После запуска скрипта выходная папка содержит только:

The_Extracted_FLV_File.flv
The_Extracted_MP4_File.mp4

Файл PDF (The_Extracted_PDF_File.pdf) автоматически удаляется сценарием.

Примечание: приведенный выше скрипт написан быстро и может быть оптимизирован.

...