2012-07-20 19 views
1

我試圖使用find命令從FindUtils package from gnuwin32與Windows 7標準cmd.exe shell。從Windows 7上的gnuwin32 FindUtils:簡單模式匹配

但是,當我輸入涉及模式匹配的最簡單可能的命令時,它不起作用。

如果鍵入:

find . -name "*.java"

我結束了:paths must precede expression錯誤。 Here我發現以下解釋:

-name測試只接受一個參數。在命令行中,在運行查找 命令之前, 外殼正在將擴展爲多個參數。因此你會看到你看到的錯誤。您應該使用-name參數中的任何shell元字符或 將引號括起來。

但是我am將引用括起來!

我也試圖與單引號:

find . -name '*.java'

在這種情況下,沒有文件被發現(也有很多目錄.java文件,但我查'*'肯定的,具有相同效果) 。

我也試過:

find . -name \*.java 

隨着作爲雙引號相同的效果。同樣的:

find . -name "\*.java" 

我在做什麼錯?在example I found中,使用帶星號的雙引號運行良好。

我認爲這可能與this question有關。

回答

1

類似問題herethere。似乎與GNUWin32的find.exe在Windows Vista和Windows 7上的行爲不同,但與Windows XP不同。