这是我的第一个苹果。我以为我会做一些简单的事情,比如使用路径导航到文件夹并列出子文件夹......不幸的是,我无法弄明白: - )
这是我到目前为止所尝试的内容:
第一次尝试:
tell application "Finder"
set the_folder to POSIX path of "Users:MyName:Doc"
log the_folder
set folder_list to every item of folder the_folder
log folder_list
end tell
这会产生错误: “Finder收到错误:无法获取文件夹”/ Users / MyName / Doc“。
有人可以请: 1.向我解释我做错了什么。 2.提供一个有效的例子。
提前致谢。
btw文件夹确实存在于我的机器上......
答案 0 :(得分:1)
Posix路径是您在命令行中使用的路径,并且是“/”分隔的。 Applescript路径是“:”分开,所以只需使用它们。试试这个脚本,看看路径应该是什么样的......
set folderPath to (choose folder) as text
答案 1 :(得分:1)
更新:哎呀!看来我给了你错误的信息,所以我会给你正确的信息。
命令POSIX path of
需要完整的别名引用。我的意思是提供完整的文件引用(即<your_disk_name>:Users:<your_user_name>:somefolder:
)。如果您指的是使用冒号结束引用的文件夹(即Macintosh HD:Users:
),请确保。改进后的版本如下所示:
tell application "Finder"
set the_folder to (POSIX path of ("<your_disk_name>:Users:<your_user_name>:Doc:") as alias) as alias
set folder_list to every item of the_folder
end tell
要将POSIX
路径(即/Users/<your_user_name>/somefolder
)强制转换回alias
,需要进行两次转换。
转换1:第一步是将引用转换为文件引用。为此,请在引用后放置单词as POSIX file
,如下所示:
"/Users/<your_user_name>/somefolder" as POSIX file
此代码以此格式生成文件引用:file "<your_disk_name>:Users:<your_user_name>:somefolder:"
转换2 :在引用的末尾添加第二个强制as alias
...
"/Users/<your_user_name>/somefolder" as POSIX file as alias
此代码生成实际的别名引用:alias "<your_disk_name>:Users:<your_user_name>:somefolder:
如果您有任何疑问,请询问。 :)