The "find.exe" in this package
http://sourceforge.net/projects/ezwinports/files/findutils-4.2.30-w32-bin.zip/download 
produces:

C:\emacs\lisp>find . -name *find*
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]

C:\emacs\lisp>find . -name "*find*"
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]

whether or not name quoted.

The "find.exe" in this package
http://unxutils.sourceforge.net/
produces:

C:\emacs\lisp>find . -name *find*
.\cedet\semantic\db-find.el
.\cedet\semantic\db-find.elc
.\cedet\semantic\find.el
.\cedet\semantic\find.elc
.\cedet\srecode\find.el
...
C:\emacs\lisp>find . -name "*find*"
.\cedet\semantic\db-find.el
.\cedet\semantic\db-find.elc
.\cedet\semantic\find.el
.\cedet\semantic\find.elc
.\cedet\srecode\find.el
...

I don't know why.
I think the second "find.exe" is more powerful in my env..


On Fri, Jan 27, 2012 at 11:24 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> Date: Fri, 27 Jan 2012 21:04:53 +0800
> From: sthfrnth <sthfrnth@gmail.com>
> Cc: help-emacs-windows@gnu.org, emacs-devel@gnu.org
>
> I tried the port you suggested. It works, but not quite convenient. It can
> not run in this way: "find . -name *foo*".

What do you mean "can not run"?  You need to quote the *foo* part, but
otherwise it works for me.  If you quote it, what do you see?