1

私はApplescriptを初めて使用し、実行時にいくつかのフォルダーをバックアップする簡単なスクリプトをまとめようとしています。私のスクリプトは次のとおりです。

on run
    tell application "Finder"
        set backupFolder to make new folder at "BACKUP" with properties {name:(year of (current date) as string) & "-" & (month of (current date) as integer as string) & "-" & (day of (current date) as string)}
        duplicate folder "~/Test" to backupFolder
    end tell
end run

ただし、スクリプトを実行すると、次のようなエラーが表示されます。

Finder got an error: Can’t set folder "2013-1-9" of disk "BACKUP" to folder "~/Test".

これは些細な問題のように思えますが、修正方法がわかりません。誰かが私が間違っていることを教えてくれますか?

4

2 に答える 2

1

duplicate... 行を次のように置き換えます。

duplicate folder POSIX file "~/Test" to backupFolder
于 2013-01-09T11:59:37.637 に答える
1

ほとんどの場合、 AppleScript は理解できません"~/Test"(または理解できません"/Users/username/Test/")。

set d to (year of (current date) as text) & "-" & (month of (current date) as integer as text) & "-" & (day of (current date) as text)
tell application "Finder"
    set f to make new folder at POSIX file "/Users/username/Backups/" with properties {name:d}
    duplicate POSIX file "/Users/username/Test/" to f
end tell

/Users/usernameで置き換えることができますsystem attribute "HOME"。HFS パス ( など"Macintosh HD:Users:username:Test") を直接使用することもできます。

ただし、シェルスクリプトを使用する方が簡単です。

d=~/Backup/$(date +%Y-%m-%d)/
mkdir -p $d
cp -R ~/Test $d
于 2013-01-09T11:59:52.383 に答える