フィリップは正しい考えを持っていますが、物事を必要以上に難しくしています。:) 以下は私のためにトリックを行います:
on run (args)
set thePath to first item of args
tell application "iPhoto"
remove (every photo where image path is equal to thePath or original path is equal to thePath)
end tell
end run
これにより、最初のコマンド ライン引数が取得され、それが削除するファイル パスとして使用されます。iPhoto の写真には、各写真の変更されたコピーと元のコピーの両方が含まれている可能性があるため、スクリプトは、削除する写真を探すときに、写真の元のパスと現在のイメージ パスの両方をテストします。
ただし、「元のパス」プロパティは iPhoto 8.x にのみ存在することに注意してください。そのため、以前のバージョンの iPhoto を使用している場合は、その部分を取り出して、正しい写真パスを提供できるようにする必要があります ( Modified フォルダーがある場合は Modified フォルダー、それ以外の場合は Originals フォルダー内のパス)。
また、「削除」コマンドが機能するのに「削除」コマンドが機能しない理由は、iPhoto が最悪だからです。「削除」コマンドは本当に機能するはずです。