POSIX 文件在告诉块中工作
POSIX file works in tell block
以下在脚本编辑器(或 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)
如果我尝试 "double coercion":
...((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:Users"... 这行得通,除非 有人重命名了他们的硬盘。
你可以尝试自己把它弄平,我怀疑 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
希望对您有所帮助。
Applescript 有 "path to" 命令来查找众所周知的文件夹的路径,例如用户的主文件夹、桌面、文档文件夹等。这是访问文件夹的最佳方式。您可以在 "path to" 命令的标准添加 applescript 字典中看到 applescript 知道的所有位置。它还知道用户文件夹的位置。因此,我会像这样编写您的代码...
set usersPath to path to users folder
tell application "Finder" to set folder_list to items of usersPath
以下在脚本编辑器(或 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)
如果我尝试 "double coercion":
...((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:Users"... 这行得通,除非 有人重命名了他们的硬盘。
你可以尝试自己把它弄平,我怀疑 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
希望对您有所帮助。
Applescript 有 "path to" 命令来查找众所周知的文件夹的路径,例如用户的主文件夹、桌面、文档文件夹等。这是访问文件夹的最佳方式。您可以在 "path to" 命令的标准添加 applescript 字典中看到 applescript 知道的所有位置。它还知道用户文件夹的位置。因此,我会像这样编写您的代码...
set usersPath to path to users folder
tell application "Finder" to set folder_list to items of usersPath