See http://cygwin.com.
Tips
The command locate is handy for finding files. It's fast because it searches a database of all files on your system. To create/update the database, run updatedb from a shell window. To run updatedb periodically, set up a scheduled task. Since updatedb is actually a shell script, the proper incantation to use in your scheduled task will be something like c:\cygwin\bin\sh -c updatedb.