I'm trying show hidden files in Finder by running a terminal command. The problem is it looks like defaults write com.apple.finder AppleShowAllFiles TRUE
has multiple launch paths. When I run the which
command in terminal followed by the command I'm trying to run, it gives me three paths: /usr/bin/defaults
, /usr/bin/write
, and /usr/bin/TRUE
. I can't set all three as launch paths for the command because .launchPath
doesn't accept an array.
How can I run this command?
edit: The problem was I wasn't separating the arguments into separate strings. This code works:
@IBAction func showAllFiles(_ sender: NSMenuItem) {
let task = Process()
task.launchPath = "/usr/bin/defaults"
task.arguments = ["write", "com.apple.finder", "AppleShowAllFiles", "TRUE"]
task.launch()
task.waitUntilExit()
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…