POSIX文件在tell块中工作

时间:2015-03-16 20:44:24

标签: xcode applescript posix

以下适用于脚本编辑器(或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:用户”......这有效,除非有人重命名他们的硬盘。

2 个答案:

答案 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