Applescript创建隐藏目录和传输文件

时间:2015-11-10 15:41:51

标签: applescript

我想知道为什么我的这个剧本不正确。 (注意:我是AppleScript的新手,所以请忽略它是多么可怕。:P)

set public to "~/Public/"
set p to POSIX path of public
tell application "Finder"
make new folder at p with properties {name:".folder"}
end tell
set sfolder to POSIX path of ((path to me as text) & "::")
set tfolder to "~/Public/.folder/"
duplicate files of sfolder to tfolder

它说

有错误
make new folder at p with properties {name:".folder"}

错误“Finder收到错误:AppleEvent处理程序失败。”数字-10000

我该怎么办?

1 个答案:

答案 0 :(得分:0)

  • 首先,AppleScript无法扩展代字号。
  • 其次,Finder不接受POSIX路径。
  • 第三,duplicate命令必须位于Finder应用程序告诉块中。
  • 第四,虽然Finder能够创建隐形文件夹,但它无法复制文件,因为只有在显示不可见文件时才会考虑不可见文件。在首选项文件中设置为true,这是不可靠的。

我建议将shell用于整个任务,ditto可以复制文件并同时创建中间目录。

POSIX path of (path to public folder)~/Public相同,但返回完整路径。 我不知道两个冒号代表什么,所以我只是省略了它们。

set publicSubFolder to POSIX path of (path to public folder) & ".folder"
set myself to POSIX path of (path to me)
do shell script "/usr/bin/ditto " & quoted form of myself & space & quoted form of publicSubFolder