我试图运行命令行工具并获取结果。 我在终端检查了它:
/usr/bin/exiftool -filename -directory -createdate -model "/Users/dirk/Desktop\" -t -S -q -r -f >"RenamerOutfile0.txt"
运行正常并将结果传递到文件中。 使用SWIFT我尝试了这个:
let task = NSTask()
task.launchPath = "/usr/bin/exiftool"
task.arguments = ["-filename -directory -createdate -model \"/Users/dirk/Desktop\" -t -S -q -r -f"]
let pipe = NSPipe()
task.standardOutput = pipe
task.launch()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
不幸的是没有任何反应。数据被分配0字节 - 没有结果。 如果我将重定向插入文件,则不会创建文件。 不知道从终端调用工具的不同之处是什么呢?
答案 0 :(得分:0)
我找到了解决方法:
let x = system("/usr/bin/exiftool -filename -directory -createdate -model \"/Users/dirk/Desktop\" -t -S -q -r -f >\"/var/tmp/RenamerOutfile0.txt\"")
这很好用。也许是因为我为输出文件添加了路径/ var / tmp?没关系! : - )