如何在以下AppleScript中使用~
?
info for POSIX path of "Users/[User]/Pictures"
该脚本应该是通用的,但是如果我将Users/[User]
替换为~
,那么脚本就是这样的
info for POSIX path of "~/Pictures"
我收到目录不可用的错误。
我很感谢你的帮助。
答案 0 :(得分:1)
~
是一个shell的东西,所以它在这种情况下不起作用,但是使用path to
还是有一个更简单的方法:
info for POSIX path of (path to pictures folder)
答案 1 :(得分:1)
不确定这个答案是否真的具有普遍性,但由于~
由bash shell扩展,但我尝试使用扩展的结果作为路径并且它有效。
info for POSIX path of (do shell script "echo ~/Pictures")
{姓名:“图片”,创建日期:日期“2015年7月8日星期三下午6:33:09”,修改日期:日期“2017年2月8日星期三下午2:11:52”,大小:102529438,文件夹:true,别名:false,包文件夹:false,可见:true,扩展名隐藏:false,名称扩展名:缺失值,显示名称:“图片”,默认应用程序:别名“Macintosh HD:System:Library :CoreServices:Finder.app:“,kind:”Folder“,文件夹窗口:{0,0,0,0},文件类型:”“,文件创建者:”“}
对我而言,这样的结果就像这样运行
info for POSIX path of (path to pictures folder)
对于我的情况,扩展~/
它很有用,因为在~/
中查找不适合Mac的文件夹的情况。实施例
info for POSIX path of (do shell script "echo ~/Projects")
{名称:“项目”,创建日期:日期“2016年6月17日星期五上午11:08:50”,修改日期:日期“2017年2月8日星期三下午2:30:08”,大小:130670100,文件夹:true,别名:false,包文件夹:false,可见:true,扩展名隐藏:false,名称扩展名:缺失值,显示名称:“Projects”,默认应用程序:别名“Macintosh HD:System:Library :CoreServices:Finder.app:“,kind:”Folder“,文件夹窗口:{0,0,0,0},文件类型:”“,文件创建者:”“}
但是根据之前的方法,同样失败了。
info for POSIX path of (path to Projects folder)
语法错误
预期“,”但找到了财产。
评论后更新
这适用于主目录中的“非标准”文件夹。
info for alias ((path to home folder as text) & "Projects:")
答案 2 :(得分:0)
无需在AppleScript中使用波浪号(~
),它是shell中当前用户主文件夹的快捷方式。
AppleScript中有许多相对路径
path to desktop
是当前用户的桌面文件夹的别名说明符,相当于
alias "[startup volume]:Users:[current user]:Desktop"
图片文件夹的相对路径是
path to pictures folder
其他路径
path to music folder
path to applications folder
path to home folder
等
请查看标准附加词典以获取更多路径
对于某些相对路径,有一个参数来指定域
path to library folder from user domain -- alias "[startup volume]:Users:[current user]:Libary"
path to library folder from local domain -- alias "[startup volume]:Library"
path to library folder from system domain -- alias "[startup volume]:System:Library"
info for
是Standard Additions的一个非常古老的部分。它自Leopard以来已被弃用,但它仍然有效。最简单的形式是传递别名说明符:
info for (path to pictures folder )