当尝试将文件复制到另一个文件夹时,脚本会引发〜10006错误。这仅在某些Mac mini计算机上发生,而在其他Mac上则可以正常工作。我不知道为什么它可以在某些计算机上运行,而不能在其他计算机上运行。
这是显示的错误: 无法将应用程序“ Finder”的“ Macintosh HD:用户:用户名:文档:”设置为<>“ Macintosh HD:用户:用户名:下载文件:新测试:门户资源”。 (〜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
预期的输出正在将文件复制到documents文件夹。但是,在某些Mac上进行测试时,脚本显示错误〜10006。它可以很好地在其他Mac上运行。
答案 0 :(得分:0)
您要将文件夹复制到文字字符串(路径),这在运行较旧系统版本的计算机上可能会失败。
删除as text
参数以获得alias
指定符
set destinationFolder to path to documents folder
答案 1 :(得分:0)
尝试以下代码:
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
已经是一个对象说明符(形式为“文件夹[path]”的对象),因此您实际上是在 询问Finder以获取“文件夹文件夹[path]”,这会引发您所看到的错误。这就像对某人说“通过'通过盐'。”人们可能很聪明,可以弄清楚这一点。 Finder不是。