我对Swift中的NSTask有一个非常基本的了解,并且可以在我的程序中运行一些命令,但是当我运行open时它说该文件不存在。我添加了我在终端中使用的确切参数,我不知道我错过了什么。这是代码:
task.launchPath = "/usr/bin/open"
task.arguments = ["/Volumes/STS*/here.docx"]
task.launch()
task.waitUntilExit()
提前致谢。这是我的第一个问题,如果它是愚蠢的,请怜悯。
答案 0 :(得分:0)
NSTask
不会扩展您路径中的*
。但是如果你通过shell调用命令(即/bin/bash
),它将:
let task = NSTask()
task.launchPath = "/bin/bash"
task.arguments = ["-c", "open /Volumes/STS*/here.docx"]
task.launch()
task.waitUntilExit()
-c
选项告诉Bash从字符串中读取命令。您可以查看手册页以获取更多信息。