【问题标题】:Applescript creating hidden directory and transferring filesApplescript 创建隐藏目录和传输文件
【发布时间】:2015-11-11 00:57:35
【问题描述】:

我想知道为什么我的这个脚本不正确。 (注意:我是 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"}

error "Finder 出错:AppleEvent 处理程序失败。"数量-10000

我该怎么办?

【问题讨论】:

    标签: applescript


    【解决方案1】:
    • 首先,AppleScript 不能扩展波浪号。
    • 其次,Finder 不接受 POSIX 路径。
    • 第三,duplicatecommand 必须在 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
    

    【讨论】:

    • 谢谢!这很有帮助。我修改了很多代码。它创建了目录,但是当我签入目录时,里面什么都没有。另外,根据另一篇文章,两个冒号使其成为我路径的父目录。
    • 您的代码复制方向错误 - 从 ~/Public/.folder 到脚本的父目录。同上参数的顺序是源 - 目的地。
    • 是的!这样可行。但是,它不会复制应复制的所有内容。同上是否有限制,还是我的代码有错误?
    • 嗯,同上命令有时有效,但其他时候,它只是复制 scpt 文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-08
    相关资源
    最近更新 更多