以下适用于脚本编辑器(或Applescript应用程序),但不适用于XCode:
tell application "Finder" to set folder_list to items of folder POSIX file "/Users"
具体来说,我在运行时得到:
Finder got an error: Can’t make «class ocid» id «data optr000000002094230000600000» into type integer. (error -1700)
如果我尝试“双重强制”:
...((folder POSIX file "/Users") as POSIX file)
我明白了:
Can’t make «class cfol» «script» of application "Finder" into type POSIX file. (error -1700)
我确实在这里看到了类似的内容,但解决方案对我不起作用: "POSIX file" works in Applescript Editor, not in XCode
谢谢!
//里德
P.S。我知道我可以使用“Macintosh HD:用户”......这有效,除非有人重命名他们的硬盘。
答案 0 :(得分:0)
您可以尝试自己平滑,因为我怀疑AppleScript编辑器适合您:
tell application "Finder" to set folder_list to items of folder (POSIX file "/Users" as text)
我所做的是将posix文件强制为文本,否则它是class furl
,这实际上不是Finder可以采取的。我会尝试强制您的posix file
语句到文本,看看是否有帮助。
这可以在我的编辑器和脚本菜单中编译和运行:
tell application "Xcode"
tell application "Finder"
set m to folder (POSIX file "/Users" as text)
set n to name of m
tell me to display alert n
end tell
end tell
我希望这会有所帮助。
答案 1 :(得分:0)
Applescript有"路径到"用于查找众所周知的文件夹的路径的命令,例如用户的主文件夹,桌面,文档文件夹等。这是访问文件夹的最佳方式。您可以在标准添加的AppleScript字典中查看AppleScript所知道的所有位置,以获取"路径到"命令。它还知道users文件夹的位置。因此我会像这样编写你的代码......
set usersPath to path to users folder
tell application "Finder" to set folder_list to items of usersPath