我有这个shell脚本,它将符号链接(符号链接)解析为文件夹并将其复制到当前工作目录:
cp -R `grealpath /some/dir/symlink_to_folder` .
在Mac OS X上安装 coreutils 时,命令grealpath
只解析符号链接。
我的问题是:与AppleScript相同的是什么?工作流程理想情况如下:将Finder中的一个或多个符号链接文件夹复制到剪贴板,然后右键单击Finder中的另一个文件夹 - > 服务 - > 运行新创建的脚本,将所有符号链接从剪贴板复制到另一个文件夹。
答案 0 :(得分:1)
您可以创建这样的服务:
cp -R "$(/usr/local/bin/grealpath "$(osascript -e 'POSIX path of «class furl» of (the clipboard as record)')")" "$1"
如果剪贴板包含对文件的引用,«class furl» of (the clipboard as record)
将返回第一个文件的文件对象。
您也可以使用cp -RH source target
代替cp -R `grealpath source` target
。如果符号链接及其目标具有不同的名称,则它使用符号链接的名称。
-H If the -R option is specified, symbolic links on the command line
are followed. (Symbolic links encountered in the tree traversal
are not followed.)
答案 1 :(得分:1)
Applescript会将符号链接视为另一个文件夹,因此您只需复制内容即可。
Tell application "Finder"
repeat with i from 1 to (count symlinks)
set newFolder to make new folder at destFolder with properties {name:item i of symlinks)
duplicate entire contents of item i of symlinks to newFolder
end