Applescript:Finder的复制命令在Yosemite中不返回引用

Applescript:Finder的复制命令在Yosemite中不返回引用,applescript,osx-yosemite,finder,Applescript,Osx Yosemite,Finder,我正在升级在雪豹中工作但在约塞米蒂失败的应用程序描述 我已经找到了查找程序的重复命令的一个问题。当引用指向使用SMB装载的网络共享上的文件时,它似乎不再返回对复制对象的引用。我认为这可能是Yosemite的OSAX实现中的一个bug,但我还没有找到解决方法 set testPath to "MyVolume:Path:To:File:testfile.txt" tell application "Finder" set fileRef to dup

我正在升级在雪豹中工作但在约塞米蒂失败的应用程序描述

我已经找到了查找程序的重复命令的一个问题。当引用指向使用SMB装载的网络共享上的文件时,它似乎不再返回对复制对象的引用。我认为这可能是Yosemite的OSAX实现中的一个bug,但我还没有找到解决方法

set testPath to "MyVolume:Path:To:File:testfile.txt"

tell application "Finder"
   set fileRef to duplicate (testPath as alias)
   log fileRef as string 
end tell
在Yosemite Mac上,duplicate命令用于创建副本,但返回的fileRef未定义。在日志行的位置,我得到一个错误:变量fileRef没有定义

在Snow Leopard Mac上,duplicate命令用于创建一个副本,并且返回的fileRef变量很好。控制台日志输出为:MyVolume:Path:To:File:testfile copy.txt

约塞米蒂机器上的Finder字典说:

复制v:复制一个或多个对象

[……]

→ 说明符:复制到重复的对象

duplicate命令应该返回说明符,但它不再返回说明符

还有其他人遇到过这个问题吗?我错过什么了吗?有解决办法吗


谢谢

这种事情至少在mavericks中,你必须确保在复制文件时使用File和Folder这个词,否则它将无法工作。例如:

 tell application "Finder"
   set CurrentFile to duplicate file CurrentFile to folder CurrentFolder
 end tell
如果在同一个文件夹中执行此操作,只需将文件夹改为CurrentFolder即可