我正在升级使用Snow Leopard但在Yosemite中失败的Applescripts。
我已经向Finder的“复制”命令追踪了一个问题。当引用是使用SMB挂载的网络共享上的文件时,它不再显示返回对复制对象的引用。我想这可能是Yosemite的OSAX实现中的一个错误,但我还没有想出一个解决方法。
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未定义。在日志行的位置,我收到错误:The variable fileRef is not defined.
在 Snow Leopard Mac上,复制命令可以创建副本,返回的fileRef变量很好。控制台日志输出为:MyVolume:Path:To:File:testfile copy.txt
Yosemite机器上的Finder词典说:
重复v:复制一个或多个对象
[...]
→说明符:到重复的对象
复制命令应该返回说明符,但不再存在。
还有其他人遇到过这个问题吗?我错过了什么吗?有解决方法吗?
谢谢!
答案 0 :(得分:0)
这种事情(至少在小牛队中)你必须确保在复制文件时你使用的单词" File"和"文件夹"或者它无法工作。一个例子是:
tell application "Finder"
set CurrentFile to duplicate file CurrentFile to folder CurrentFolder
end tell
如果在同一文件夹中进行,只需将"放到文件夹CurrentFolder"