メニューバーアプリを作成しましたが、このコマンドをプレスで実行したい
rm -rf ~/.Trash/*
私が現在持っているコードはこれです:
@IBAction func toggleClicked(sender: NSMenuItem) {
let task = NSTask()
task.launchPath = "/bin/sh"
task.arguments = ["rm", "-rf", "~/.Trash/*"]
task.launch()
task.waitUntilExit()
}
しかし、これを実行すると、次のエラーが発生します。
/bin/rm: /bin/rm: cannot execute binary file
ターミナルを開いて/ bin / shを実行し、rm -rf〜 / .Trash / *と入力すると、期待どおりに機能するため、このエラーが発生する理由がよくわかりません。
編集
コマンドをこれに変更しようとしましたが、何も起こりません。
task.launchPath = "/bin/rm"
task.arguments = ["-rf", "~/.Trash/*"]
作るために/ binに/ shを使用すると、-c引数を渡す必要があるコマンドライン文字列から読み取ります。
コードを次のように変更する必要があります。
let task = NSTask()
task.launchPath = "/bin/sh"
task.arguments = ["-c", "rm -rf ~/.Trash/*"]
task.launch()
task.waitUntilExit()
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加