FastFind Application

Click to see FastFind screenshot

FastFind is a Windows program that provides fast searching for named files. FastFind generates a compact binary index for all files on a system, which it uses to search for filenames, in no more than a few seconds.

Rationale

If you've ever been frustrated that your hugely powerful PC running Windows takes minutes to find a file with a particular name, then you're not alone, and you'll know why I wrote this program. I was also annoyed that Windows still does not have a simple analog of the Linux 'whereis' facility. (Yes, I've tried the Indexing Service on Windows 2000/XP, and no, it doesn't work.)

For example, on my PC, FastFind has indexed about 40Gb of files, yet when I ran FastFind just now and typed a search request, the time taken from me starting the app to getting the search results list was about 6 seconds (on an 800MHz Pentium III), including the time taken for me to type the filename to search for.

How to Install

FastFind functions fine as a standalone program, so you can just copy it wherever you want to put it on your hard drive, and run it from there. There is now also an installer available for FastFind (see download section).

By default, FastFind will store its index file next to the executable. You can change this in the options dialog if you want to.

Important

FastFind needs to have its index rebuilt reasonably often - I normally get my PC to rebuild the index every night. Currently, this is not automated, so if you want to do this you can either fiddle with the 'at' command, or use the Windows Scheduled Tasks applet in the Control Panel to add this as a job to do every night at e.g. 2am.

You need to supply the command line option /buildindex to FastFind, or it will just run normally, instead of building the index. You need to supply the full pathname to the FastFind executable - by way of explanation, here is what it looks like in my configuration:




In case you're wondering, the blurred parts contain details about my system that I don't want you to know.

How to Use

FastFind is pretty straightforward to use - make sure you've set up a system task to rebuild the index periodically, as explained in the installation instructions above.

If you're running FastFind for the first time, just click the Build Index button and wait a minute or two for the index to be built.

Once you have an index (check the status bar at the bottom of the dialog), just type a search pattern into the edit box at the top of the dialog, and click Find.

How much more easy could it be? None. None more easy.

How to Build

If you want to build FastFind from the source code, then you'll need the following libraries to do it:

To build vOS and vGUI, read my library installation instructions.

To build boost regex++, use these instructions.

NB. To allow Visual C++ to find the boost regex++ header files, I configure the Tools|Options|Directories dialog so that the include directories include the regex++ folder. You should use the folder that contains the boost, libs and samples folders. If you prefer not to do this, then you can use an environment variable instead (in a similar way to the GWTLIBS variable). This is left as an exercise for the reader.

Once you have vOS, vGUI and boost regex++ installed and built ok, then building FastFind should be straightforward using the usual Visual Studio build method.

Issues

It should run on Windows 95 upwards, but so far I have only tested it on Windows 2000 and Windows XP.

Download: FastFind v1.14

Platforms: Windows

License: GPL

Copyright: Tim Browse, 2002-2003

Status: Completeness: 8/10, Reliability: 9/10

Version History

Version 1.14 - 18/05/2003

  • Made the Return key work in the dialog - i.e. it should now always initiate a search if you press the Return key in the search field.

Version 1.13 - 06/06/2002

  • Fixed options dialog bug - it would always try to move the index even if the user did not change the index location.

Version 1.12 - 03/07/2002

  • Added nicer summary messages - FastFind now tells you how many files/folders are in the index, and the total file size. Similarly for search results.
  • The last modified date/time of a file is now shown in the list.
  • Added progress display when searching for people with a large index, a slow PC, or both.
  • Added a history list for the search pattern.
  • Added an 'auto-wildcard' option, at the request of Sean, so that if you enter a pattern with no wildcard characters, FastFind automatically adds * to the start and end, so partial matches on the name succeed.

Version 1.11

  • Fixed crash bugs when corrupted or unrecognised index is found.

Version 1.10

  • Wildcard and Regular expression support.
  • Fixed crash bugs when no index is present.
  • When a new index is built, it is used for searching immediately.
  • When building an index using the /buildindex flag, FastFind runs minimised.

Version 1.00

The original version, which didn't work very well.

Acknowledgements