0

ドラッグアンドドロップを使用して、メールから共有サーバー上の関連するジョブサブフォルダーにメールをプルしています。次に、スクリプトを使用して、作成された日付(これはドラッグした日付です)で並べ替えてから、コンテナーの名前に基づいてファイルの名前を変更します。

ただし、スクリプトを使用して、各.emlファイルから送信日、送信者、および件名を抽出し、その情報を使用してファイルの名前を変更したいと思います。

同様の質問に対する回答が記載された以前の投稿がありましたが、(私はスクリプトの初心者であるため)スクリプトにどのように配置できるかがわかりませんでした。これは、「AppleScript-.emlファイルの情報を取得する」にあります。

答えは:

set fromField to text 7 thru -1 of (do shell script "cat /test.eml | grep From:")
set dateField to text 7 thru -1 of (do shell script "cat test.eml | grep Date:")
set toField to text 5 thru -1 of (do shell script "cat /test.eml | grep To:")
set subjectField to text 10 thru -1 of (do shell script "cat /test.eml | grep Subject:")

実際のシェルスクリプトを書いて、どこに置くか教えてくれる人が必要だと思います。

4

2 に答える 2

0

試す:

    set delim to " - "

set myFiles to (choose file with multiple selections allowed)
set TID to text item delimiters

repeat with aFile in myFiles
    set pFile to quoted form of (POSIX path of aFile)
    set {mDate, mFrom, mSubject} to every paragraph of (do shell script "cat " & pFile & " | grep -e Date -e From: -e Subject:")

    set mDate to trim(mDate, 7)
    set AppleScript's text item delimiters to " "
    set myDate to text item 3 of mDate & space & text item 2 of mDate & ", " & text item 4 of mDate
    set AppleScript's text item delimiters to {""}
    set myDate to (date myDate)
    set myDate to day of myDate & (month of myDate as integer) & year of myDate as text

    set mFrom to trim(mFrom, 7)
    set mSubject to trim(mSubject, 10)

    set newName to myDate & delim & mFrom & delim & mSubject

    -- You will have to edit newName so it meets file naming standards
    --tell application "System Events" to set aFile's name to mSubject
end repeat
set text item delimiters to TID

on trim(myText, firstChar)
    try
        set myText to text firstChar thru -1 of myText
    on error
        set myText to "None"
    end try
end trim
于 2012-12-19T13:41:20.400 に答える
0

正規表現を使用すると、スクリプトが 10 行未満になり、読みやすくなります。

確かに、AppleScript は正規表現をネイティブにサポートしていません。Satimage Osax 拡張機能をhttp://www.satimage.fr/software/en/downloads/downloads_companion_osaxen.htmlにインストールするだけで済みます。

于 2015-05-15T20:10:38.980 に答える