2012-12-08 53 views
1

我試圖得到以下find命令通過NSTask工作:如何運行CMD找到與NSTask

find /Users/user/projects ! -path '*.git*' -ctime -1 

但是我無法得到忽略路徑的一部分工作。在終端它工作正常。我得到了不包括.git目錄的最近24小時的修改文件。 當使用NSTask,.git的目錄不忽略,導致太多的陽性...... 我使用以下ARGS:

NSArray *args = @[@"/Users/user/projects", @"!", @"-path", @"'*.git*'", @"-ctime", @"-1"]; 

有誰知道我做錯了什麼?

+0

爲什麼不試試applescript? –

回答

1

我認爲你必須通過

@"*.git*" 

更換參數

@"'*.git*'" 

否則發現將忽略,只有名爲'*.git*'(逐字)文件。請注意,在終端中執行命令時,shell會刪除單引號。

2

你也可能會發現它更容易做到。

NSString *argString = @"/Users/user/projects ! -path '*.git*' -ctime -1"; 
[nsTaskName setArguments: [argString componentsSeparatedByString: @" "]]; 

當你在終端中調試你的參數,你可以做一個副本和過去,並在它前面添加'find'。

+0

這不會解決我的'* .git *'和* .git *問題,但我明白你的意思。 – P5ycH0

+1

對,我應該說,以及大聲笑。只是想在未來幫助你。 –