Download: dirlist.exe

This is a universal file listing utility. It is designed for programmers, but can probably be used by anyone.

It answers questions such as

  • What's the biggest file on my any of my disks?
  • What's the most recently changed or created file on any of my disks?
  • Which file contains a given string?

Dirlist doesn't get frozen on network drives. It uses a separate thread for disk access, so the UI never gets spastic. Dirlist doesn't cache anything, so theoretically you can do much better, but in practice, because of file system caching, it is fast.

Show files in the current directory

dirlist


Showing the biggest files on all local disks.


dirlist *: /flat /sort size /filter ">1gig"


Showing .cpp and .h files. VisualStudio 6.0 Integration


dirlist c:\code /flat /filter ".cpp .h makefile !folder" /savesel /dde "msdev,system,Open(%1)"


Visual Studio 8.0 Integration


dirlist c:\code /flat /filter ".cpp .h makefile !folder" /savesel /dde "VisualStudio.8.0,system,Open(%1)"

Assigning this to an "external command" (UserTool in studio 6 language) is left as an exercise to the reader.

Show hidden files


dirlist c: d: /flat /filter "hidden"


Note that to filter for files that contain the string "hidden", you should type "*hidden*" to make it a file regexp and not a special word.

Other filters:

temp -> shows temporary files
folder -> shows folders only
readonly -> shows readonly files.
<1min -> shows files modified in the last minute
>1day -> shows files modified longer than a day ago
>1meg -> shows files larger than 1 meg.

Any filter can be preceded by ! to negate its meaning. So !>1meg works too. Here is an example:


dirlist . /filter "!.obj"

This lists all files except .obj files in the current directory.

The /savesel option remembers what you were typing in the edit field, a-la VisualAssist's "Open Workspace File". This results in the same subset of files being displayed. Why is this better than VisualAssist's own (very nice) window? Because it doesn't care if you added your file to the workspace, like VA does. It displays them all, so you never get inconsistencies. Also, VA on VisualStudio 8 is slow as hell (probably Studio's fault, not VA's, but I don't care).

Reverse sorting order


dirlist *: /flat /sort !size

This shows the biggest files on your local drives.

Real-time filtering, find-in-files

When type something, dirlist narrows down the list of files to only those matching your request. What you type in the edit box is subject to the same syntax as what's in the filter box; The only difference is, the filter box determine what gets shown in the window, and what you type filters it down in real-time.

.cpp

This narrows down the list of files to those ending in .cpp

a b

Leaves files whose filename contains "a", then "b" (in that order), for example "a_b.cpp" will remain in the list, and "ba.cpp" will not.

.cpp|text Leaves only .cpp files containing given text. This is find-in-files.

<1day|text Searches all files modified in the last day for the string "text"

Shortcuts

Ctrl+R to list all drives
F5 to refresh (this rescans the directory). Dirlist doesn't subscribe to directory changes, so when something changes on disk, you need to F5.
Ctrl+Page Up, Ctrl+Page Down: Go up and down the directory tree. When you go up one level from a directory, the directory is selected so you can hit Enter to go down again.
Ctrl+C: Copies the full path name to the selected file as a C++ string (with escaped \ chars)
Alt+C: Copies the full path name to the selected file (no C++ adjustments)
F2: Rename file

Show In Explorer

Available from the context menu (right-click). The selected file is located using Explorer

Collect Files

Available from the context menu (right-click). All selected files are gathered, copied to a newly created temporary folder, and the folder is then shown in Explorer.