1

クライアントには、各ファイルの 7 つまたは 8 つのサイズのバージョンを含む大規模な WordPress アップロード フォルダーがあります。

ファイル名の一部として含まれるすべての画像を除外しようとしてい-NNNxNNNます-「NNN」は任意の番号です。例:

  • 最初にアップロードされたファイル:7Metropolis711.jpg
  • 同じファイルのサイズ変更バージョンの例:7Metropolis711-792x373.jpg

私はこれにAutomatorを使用しています.Applescriptを探して、入力されたファイルのフォルダからそれらのファイルを除外しています..IE:

ここに画像の説明を入力

4

2 に答える 2

1

これを試して。フォーマットのファイル名をテストするハンドラー「isFormatNNNxNNN(fileName)」を確認できます。明らかに、コードの最初の 2 行を削除します。これらは AppleScript Editor でテストできるように使用されています。それらは、Automator の入力変数と等しくなければなりません。

編集:あなたのコメントに基づいて、ファイル名に複数の「-」を含めるようにスクリプトを修正しました。形式がファイル名の最後の文字であると想定しているため、ファイル拡張子の前のテキストを見始めます。

コードの周りに「on run {input, parameters}」を配置する必要があるため、Automator では機能しませんでした。私は今それをやったので、これをautomatorにコピーして貼り付けてください。

on run {input, parameters}
    set newList to {}
    repeat with aFile in input
        if not (my isFormatNNNxNNN(aFile)) then set end of newList to (contents of aFile)
    end repeat
    return newList
end run

on isFormatNNNxNNN(theFile)
    set theBool to false
    try
        tell application "System Events"
            set fileName to name of theFile
            set fileExt to name extension of theFile
        end tell

        set endIndex to (count of fileExt) + 2
        set nameText to text -(endIndex + 7) thru -endIndex of fileName
        if nameText starts with "-" then
            if character 5 of nameText is "x" then
                -- test for numbers
                text 2 thru 4 of nameText as number
                text 6 thru 8 of nameText as number
                set theBool to true
            end if
        end if
    end try
    return theBool
end isFormatNNNxNNN
于 2013-01-15T13:05:15.283 に答える
1

別のアプローチを次に示します。

on run {input}
    set newList to {}
    repeat with aFile in input
        tell application "System Events" to set fileName to name of aFile
        try
            set variableName to do shell script "echo " & quoted form of fileName & " | grep -Eo [0-9]{3}x[0-9]{3}"
        on error
            set end of newList to (aFile's contents)
        end try
    end repeat
    return newList
end run

ここに画像の説明を入力

于 2013-01-15T13:58:34.630 に答える