2

毎日自分のサイトからダウンロードしたファイルに基づいて、関数を実行するスクリプトを作成しようとしています。

基本的に、私のサイトは日付(yyyy、mm、dd)に基づいてフォルダーを作成します。applescriptで最初にそのフォルダーを開き、次にその中の各フォルダー/ファイルでアクションを実行するようにします。

問題は、変数を使用してスクリプトをそのフォルダーにポイントしようとすると、エラーが発生することです。パス名を定数にできません。

たぶん、本当の問題は私がこれにどれほど新しいかということです!これが私が試したことです:

    tell application "Finder"
    set {year:y, month:m, day:d} to (current date)
    set theTime to y & m & d
    set pathToTarget to path to theTime
    open folder pathToTarget of folder "F-grams" of folder "files" of folder "default" of folder "sites" of folder "foldagram" of folder "htdocs" of folder "MAMP" of folder "Applications" of startup disk
end tell

初心者が軌道に乗るのを手伝いたいのは誰ですか?-JB

4

1 に答える 1

1

このフォルダー アクションは、新しいアイテムがターゲット フォルダーに追加されるたびにトリガーされます。2 番目の繰り返しブロックでは、追加された各フォルダー内の各アイテムに対してコマンドを送信できます。これらの項目のそれぞれを anItem 変数で参照できます。ライブラリの Folder Action Scripts フォルダにスクリプトを保存します。必ずフォルダー アクションをターゲット フォルダーに添付してください。

on adding folder items to theFolder after receiving theFolders
    try
        repeat with aFolder in theFolders
            tell application "Finder" to set myItems to every item of aFolder
            repeat with anItem in myItems
                -- Insert your code here
            end repeat
        end repeat
    on error errMsg number errNum
        tell me
            activate
            display alert errMsg & return & return & "Error number" & errNum buttons "Cancel"
        end tell
    end try
end adding folder items to

ただし、日付でフォルダーを検索する場合は、日付文字列を次のようにフォーマットする必要があります。

set delimiter to ", "
set aDate to (current date)
set aYear to (year of aDate) as string
set aMonth to (month of aDate as integer) as string
if length of aMonth is 1 then set aMonth to "0" & aMonth
set aDay to (day of aDate as integer) as string
if length of aDay is 1 then set aDay to "0" & aDay
set theTime to aYear & delimiter & aMonth & delimiter & aDay as string
于 2012-11-17T00:33:11.950 に答える