我正在构建一个Applescript Droplet来自动化一些东西。我有以下几行:
tell application "Finder" to duplicate dropped
Dropped是对Droplet上删除的文件的引用。文档说这会返回对重复对象的引用。
我想将myVariable
设置为返回的引用,但我在任何文档中都找不到如何实际执行此操作!
答案 0 :(得分:1)
如果它是一个Droplet,请注意该参数是一个别名列表(您可以拖动多个文件!),如果您复制一个查找器项目,您将获得一个finder项目,而如果您复制更多比一个查找项目,您将获得一个查找项目列表。即复制的返回值取决于发送给它的参数。
AND ...取景器项目在取景器外部不是很有用。使用别名或POSIX路径会更好。
所以你可能需要像
这样的东西on open (dropped)
tell application "Finder"
set duplicate_Finder_items to duplicate dropped
end tell
-- convert the Finder reference for each duplicate item to an AppleScript alias
set duplicate_item_aliases to {}
if class of duplicate_Finder_items is list then
repeat with i from 1 to number of items of duplicate_Finder_items
set the end of duplicate_item_aliases to (item i of duplicate_Finder_items) as alias
end repeat
else -- result was a single Finder item, not a list
set duplicate_item_aliases to {duplicate_Finder_items as alias}
end if
repeat with f in duplicate_item_aliases
set inf to (info for (f as alias))
set n to name of inf
display dialog "You duplicated a file. The duplicate is now known as " & n
end repeat
结束
答案 1 :(得分:0)
duplicate
命令允许指定位置:
set theResult to duplicate reference ¬
to insertion location ¬
replacing boolean ¬
routing suppressed boolean
参数,必填,类型,说明
直接参数,必需,参考,要复制的对象
替换,可选,布尔,指定是否替换目标中与要复制的项目同名的项目
路由已抑制,可选,布尔,指定是否自动应用项目(默认为false)。仅在复制到系统文件夹时适用。
转换为,可选,插入位置,对象的新位置