File Lister is an advanced-user tool for making lists of files that can be worked with in other applications, such as file comparators or batch commands. It can also be used for simply indexing files for sharing or such. It offers the following major features:
- Full-featured, intuitive GUI
- Regular Expression matching (or basic wildcards matching)
- Output format customization
- File hashing
- Subdirectory traversal
- Drag-and-Drop file/directory matching
- Clipboard or file output
Tutorial
Screenshots
Changelog
1.6:
-added counters to output format with pattern %i
-rewrote output format parser to be pre-compiled for speed improvement
-optimized regex matching for significant speed improvement when using regex
-fixed crash if output file in use by another program
-added option to match full path in regex instead of only filename
-added option to invert matching behavior for regex
-fixed a bug with groupings in filesize pattern
-removed default pattern option from pattern selection menu, added “Default” buttons to some dialogs
-fixed missing use of default options for date, size, and attributes patterns without parameters
-added the option to use regex capturing groups in output format with pattern %v1.5:
-output format textbox gets focus now after inserting a pattern from the list
-added program options dialog for previous advanced options
-changed some advanced option key names in the config file. users will need to redo them if updating
-fixed buffered output
-efficiency speed improvements; about 15% faster when not hashing
-fixed current directory status bar “kern wiggling” when text length varied
-path selection dialog starts in currently entered path, if available
-added a warning about missing line terminators in the output format
-improved error system and error reporting
-added dialogs for file size, date, attributes, and hash arguments
-added file hash to output format
-removed %u, %v, %w, and %z. they are superseded by new inline arguments.
-most recently used text parameters always moved to top of dropdowns
-added inline filesize, date, and attributes arguments to output format
-fixed error when a % was at the end of an output format string
-fixed %f (File Name), %g (Name Part Only), %h (Extension Part Only), %p (Path), and %e (Relative Path) when outputting directories. in general, directory matches are now treated like files.
-added counters to output format with pattern %i
-rewrote output format parser to be pre-compiled for speed improvement
-optimized regex matching for significant speed improvement when using regex
-fixed crash if output file in use by another program
-added option to match full path in regex instead of only filename
-added option to invert matching behavior for regex
-fixed a bug with groupings in filesize pattern
-removed default pattern option from pattern selection menu, added “Default” buttons to some dialogs
-fixed missing use of default options for date, size, and attributes patterns without parameters
-added the option to use regex capturing groups in output format with pattern %v1.5:
-output format textbox gets focus now after inserting a pattern from the list
-added program options dialog for previous advanced options
-changed some advanced option key names in the config file. users will need to redo them if updating
-fixed buffered output
-efficiency speed improvements; about 15% faster when not hashing
-fixed current directory status bar “kern wiggling” when text length varied
-path selection dialog starts in currently entered path, if available
-added a warning about missing line terminators in the output format
-improved error system and error reporting
-added dialogs for file size, date, attributes, and hash arguments
-added file hash to output format
-removed %u, %v, %w, and %z. they are superseded by new inline arguments.
-most recently used text parameters always moved to top of dropdowns
-added inline filesize, date, and attributes arguments to output format
-fixed error when a % was at the end of an output format string
-fixed %f (File Name), %g (Name Part Only), %h (Extension Part Only), %p (Path), and %e (Relative Path) when outputting directories. in general, directory matches are now treated like files.
1.1:
Initial Public Release
Today I’ve been using your amazing tool to analyze a network folder. Unfortunately it crashed. Please find below the content of the error.log file:
[21/03/2016 – 03:42:12.707] Could not find a part of the path ‘\\globalvault.austin.hp.com\LFP\Archive\inbound supply chain\SC technologies\EE components\2- Cables Assy’s EE Components\2- Molex Cables Assy’s\Vendor Information’. :: System.IO.DirectoryNotFoundException
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
at System.IO.Directory.GetDirectories(String path, String searchPattern, SearchOption searchOption)
at System.IO.Directory.GetDirectories(String path)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.StartList()
I’ve just found the root cause of this issue: the repository is damaged. I cannot even access that folder through Windows Explorer. Although it makes the error less serious, you may want to consider a better way to handle error conditions like this. Users would appreciate that the error condition is tracked and the file listing continues with the next path that is really found. Stopping the execution after this error is found makes that many, many valid files are not listed.
Thanks for the report. I’m pretty sure there’s already error handling for file read errors like disk corruption or access restrictions. However, it looks like you’re listing a directory on a network share, yes? Maybe this is a special case that needs more handling. Were you hashing files?
Try The Long Path Tool. Awesome Software
Hi Snake
Just Wondering If you have managed to Sort out the ERROR Message:
” Unexpected err: The Specified Path, Filename, or both are too long…. must be less than 260 or 248 chars etc etc”
Would be a great help!
Thanks
Graham
Hi Snake,
after all these years of using File Lister I have recently been getting the error Message ” Unexpected
err: The Specified Path, Filename, or both are too long…. must be less than 260 or 248 chars etc etc
The File and or Path that appears to cause the error is less than ( about 173 chars Name & Path )
so checked out the error log…
[18-02-2015 – 15:42:23.936] The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. :: System.IO.PathTooLongException
at System.IO.Path.SafeSetStackPointerValue(Char* buffer, Int32 index, Char value)
at System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck)
at System.IO.Path.GetDirectoryName(String path)
at System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
at System.IO.Directory.GetFiles(String path, String searchPattern, SearchOption searchOption)
at FileLister.frmFileLister.GetFiles(String& Path, String& SearchPattern)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.ListFiles(String& SearchPath, String& Dir)
at FileLister.frmFileLister.StartList()
The error occurs in my Document Folder only, Seach String of “*.3gp|*.AVI|*.M?V|*.VOB|*.asf|*.divx|*.f?v|*.m?v|*.mp?|*.mpeg|*.rm|*.rmvb|*.wm?|*swf|”
and output to file
I Don’t have any Problems with the Video Folder’s etc
I have plenty of memory 8GB etc and Using windows 7 Pro edition!
Hope you can Help – Seems odd to have just starting to cause problems!
Thanks
Graham
I am aware of an existing bug regarding filename length and have been meaning to fix it. However, that was for filenames that actually did exceed the 255 char limit. Thanks for posting the full error and stack. I hope to fix it soon.
Thanks Snake!
What is even Stranger, I used File Lister and just Navigated through the Folders one by one and when I got to the Folder that cause the problem, It worked!! By this stage I had Deleted & Restored the Folder from my BackUp and Re-Booted (Due to some Windows Updates) and wella!!! All’s Well again! Odd!!!
But Sadly a re test from the main folder resulted in the same Problem!
Oh, Snake. The app is good, but it always says the path is too long on Win 8.1. Not usible under that OS.
Unfortunately, I don’t have that OS to test it under. So, could you provide more details about the error? Exactly when does it display? What is the exact wording of the error? If you have a path that is less that 255 characters long, does it still give the error?
If possible, I’d like to fix this and the output pattern parsing error that Dragoon mentioned.
Hello Snake,
Is there a way to sort results by filesize?
Not from within File Lister itself. But if you output to a format that Excel can import, you can sort from there. I usually use \t for tab-delimited values if subsequent use in Excel is required.
Oh, thanks! That solution worked perfectly.
Btw. When I used for file size MegaByte %s{MB,} or Gigabytes %{GB,} I got an syntax error. Removing the comma fixed it.
This didn’t happened when using Auto%s{A,} or Bytes %s{B,}. Haven’t tested any of the other options file size options.
Cheers,
fyi- there seems to be limit on the path length. Maybe next version you could increase this?
there’s no max length of the path field that I could see–tested on Windows 7. plus the code says there is explicitly no max length set. what OS are you using? or any other details you can give?
Windows 7- I’ve had it happen on a couple different machines. If i have a really long path name filelister simply crashes… I get a little winged icon saying something’s gone wrong. Cute, but not helpful. This is even before I ask it to provide the file list.
What I do is copy the directly to someplace where the path is much shorter (same directory name) and it works. I should add that the basic path c:\a\b\c\d\e is the same for just about everthing I do, but getting a long folder name at d or e happens once in a while. (these long names are due to company standard naming protocols.
FYI- what I’m using this for is to provide hyperlinks to files in excel… if you don’t do it that way, the links aren’t transportable, and I’m providing the excel sheet to clients to make their access to material easier. =hyperlink(“./localfolder/&”filelisteroutput”,”friendly name”)
btw- I’m also interested in your cursor locker for a side project of my own, I have a seven monitor rig I’m doing development work on, and having the cursor wander is a pain. And I could use some application development help. Maybe you’d like to contact me privately?
that’s interesting. thanks for the report, I’ll look into it.
would be interested to know if Cursor Lock works in your seven monitor array; i’m assuming that entails some monitors arranged vertically, which i’ve never tested. although I don’t know exactly what you’re trying to do, it sounds like maybe user strict mode might helpful. this mode of Cursor Lock restricts movement to only one screen permanently.
Hi,
When will you release new version? If you release new version, please improve interface.
Dunno, haven’t even started on it.
Any specifics about the interface that you don’t like?
Maybe, nice icon, button… You can do metro theme![:)](http://www.snakebytestudios.com/wordpress/wp-includes/images/smilies/simple-smile.png)
Hi Snake,
Really nice product. Thank you.
One issue, I’ve recently noticed that sometimes the app doesn’t actually traverse the directory tree even when the option is selected.
I suspect this is an NTFS security issue, but cannot figure it out as I have full control over ALL the files/directories in the tree (and have selected “X” as the file attributes to list).
Any ideas?
Tx
What OS?
Windows 7 64 bit and Windows 8 64 bit, haven’t tried it in any others.
That’s probably the problem. I haven’t yet updated this for Windows 7 with its crazy permissions scheme. Sorry.
Thanks for this sofware
I don’t know how to sort the results not by filename but by date created .
Thanks in advance
output to tab-separated values, open in Excel, sort by whatever you want, profit.