使用NSTask的open命令

时间:2016-07-12 19:49:50

标签: swift nstask

我对Swift中的NSTask有一个非常基本的了解,并且可以在我的程序中运行一些命令,但是当我运行open时它说该文件不存在。我添加了我在终端中使用的确切参数,我不知道我错过了什么。这是代码:

task.launchPath = "/usr/bin/open"
task.arguments = ["/Volumes/STS*/here.docx"]
task.launch()
task.waitUntilExit()

提前致谢。这是我的第一个问题,如果它是愚蠢的,请怜悯。

1 个答案:

答案 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从字符串中读取命令。您可以查看手册页以获取更多信息。