【问题标题】:How to fix a ~10006 error in applescript when duplicating a file to another folder?将文件复制到另一个文件夹时如何修复applescript中的〜10006错误?
【发布时间】:2019-07-11 17:16:59
【问题描述】:

当尝试将文件复制到另一个文件夹时,脚本会引发 ~10006 错误。这仅在某些 Mac mini 计算机上发生,在其他计算机上运行良好。我不知道为什么它可以在某些计算机上运行,​​而在其他计算机上却不行。

这是显示的错误: 无法将应用程序“Finder”的“Macintosh HD:Users:username:Documents:”设置为 “Macintosh HD:Users:username:Downloads:new test:portal resources”。 (~10006)

tell application "Finder"
set folderToBeMoved to (container of (path to me) as text) & 
"portal_resources"
set destinationFolder to path to documents folder as text
set moveFolder to duplicate folder folderToBeMoved to destinationFolder     with replacing
end tell

预期的输出是将文件复制到文档文件夹。但是,在某些 Mac 上进行测试时,脚本会显示错误 ~10006。它可以在其他 Mac 上完美运行。

【问题讨论】:

    标签: applescript


    【解决方案1】:

    您要将文件夹复制到文字字符串(路径),这可能会在运行旧系统版本的机器上失败。

    删除as text 参数以获得alias 说明符

    set destinationFolder to path to documents folder
    

    【讨论】:

    • 我又遇到了类似的错误:Finder got an error: Can’t set alias "Macintosh HD:Users:sharedstudios:Documents:" to folder "Macintosh HD:Users:sharedstudios:Downloads:Portal Scripts:setup.app:Contents:Resources:Scripts:portal_resources".
    • 尝试将行 set destinationFolder to... 移动到 Finder tell 块之外的脚本开头。源文件夹的路径看起来很奇怪。
    【解决方案2】:

    试试这个代码:

    tell application "Finder"
        set folderToBeMoved to folder "portal_resources" of container of (path to me)
        set destinationFolder to path to documents folder
        set moveFolder to duplicate folderToBeMoved to destinationFolder with replacing
    end tell
    

    这里有两个问题我已经改变了。首先,您将内容转换为文本字符串并尝试修改字符串,但 Finder 具有用于讨论文件对象的丰富语言。您应该将所有内容都保留为对象形式。例如,这个:

    folder "portal_resources" of container of (path to me)
    

    告诉查找器在该容器中找到该名称的文件夹并返回一个您可以直接使用的对象说明符。

    其次,一旦你有了这个对象,你就不能给它添加“文件夹”说明符。你说的地方:

    duplicate folder folderToBeMoved
    

    folderToBeMoved 已经是一个对象说明符(“文件夹 [路径]”形式的对象),所以您实际上向 Finder 询问“文件夹 [路径]”,这会抛出您看到的错误。这就像对某人说“通过'传递盐'。”人们可能足够聪明,可以弄清楚这一点; Finder 不是。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-26
      • 1970-01-01
      • 2013-10-29
      • 2010-10-28
      • 1970-01-01
      • 2011-06-12
      相关资源
      最近更新 更多