0

簡単に言えば、私はこのようなことをする必要があります:

  1. たくさんのファイルがあるフォルダがあり、拡張子が.epubのすべてのファイルを処理したいと思います。
  2. すべてのファイルはすでに命名スキームに従っています:Lastname、Firstname-Title.epubまたはLastname、Firstname-Series x-Title.epub、Lastname、Firstname、Series(存在する場合)、Titleのパーサーが必要です。
  3. メタデータを設定するコマンドラインツールがあります:ebook-meta filename -a "Firstname Lastname" -t Title

1.)には多くのスニップルがありますが、2。)の入力が必要であり、ヘルプ/ポインターに感謝します。

4

1 に答える 1

1

以下から始めて、ニーズに合わせて変更することができます。テストされていませんが、コンパイルされます。

set p to POSIX file "/Users/kaass/Desktop/test/"
tell application "Finder" to set filelist to name of every file of folder p

repeat with filename in filelist
    set text item delimiters to ""
    if text -5 thru -1 of filename is equal to ".epub" then
        set temp to items 1 thru -6 of filename as text

        set text item delimiters to " - "
        set myWord to text items 1 thru -1 of temp
        set title to myWord's last item as text

        if myWord's length is equal to 3 then set series to myWord's second item as text

        set myWord to item 1 of myWord as text
        if myWord contains "," then
            set text item delimiters to ", "
        else
            set text item delimiters to " "
        end if
        set author to (text item 2 of myWord) & space & (text item 1 of myWord)
        set path_and_filename to POSIX path of file p & filename
        do shell script "echo Processing file " & quoted form of path_and_filename & ": " & author & " +++ " & title
        do shell script "/Applications/calibre.app/Contents/MacOS/ebook-meta " & quoted form of path_and_filename & " -a " & quoted form of author & " -t " & quoted form of title
    end if
end repeat

何か変更が必要な場合はコメントしてください。

于 2011-12-02T00:09:15.707 に答える