2017-01-26 15 views
-1

端末コマンドを実行してFinderに隠しファイルを表示しようとしています。問題はdefaults write com.apple.finder AppleShowAllFiles TRUEに複数の起動パスがあるように見えることです。ターミナルでwhichコマンドを実行してから、実行しようとしているコマンドを実行すると、/usr/bin/defaults/usr/bin/write、および/usr/bin/TRUEの3つのパスが表示されます。 .launchPathは配列を受け入れないため、コマンドの起動パスとして3つすべてを設定することはできません。複数の起動パスを使用して端末コマンドswfitを実行する

このコマンドはどのように実行できますか?

編集:問題は、引数を別々の文字列に分割していないことでした。このコードの動作:

@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() 
} 
+0

ところで、[XtraFinder](https://www.trankynam.com/xtrafinder/)をすることができますファインダーツールバーにボタンを追加すると、隠しファイルの表示/非表示を切り替えることができます。 – Alexander

+0

スワイプコードを追加してタスクを作成することはできますか?それ以外の場合はスクロールしません。 – muescha

答えて

0

あなたは/usr/bin/defaultsを探しています。あなたはこの出力を得ている理由は、次のコマンド理由:印刷し

which defaults 
which write 
which com.apple.finder 
which AppleShowAllFiles 
which TRUE 

which defaults write com.apple.finder AppleShowAllFiles TRUE 

がやってようなものです

は/ usr/binに/デフォルト

/usr/bin/write

(nothing )

(何も)

(何も)

は/ usr/binに/ TRUE

+0

Swiftで 'defaults write com.apple.finder AppleShowAllFiles TRUE'を実行するにはどうすればよいですか? – Nate

+0

@Nate https://developer.apple.com/reference/foundation/processを参照してください。 – Alexander

+0

@Nateここに例があります:http://stackoverflow.com/a/26973384/3141234 – Alexander

関連する問題