I've used JAM software's Filelist.exe tool for this. See below for command line usage. You can:
- Scan network drives
- Create a catalog of all directories and subdirectories, and all files, or filter for files of multiple selected types (eg /filter *.doc?, *.xls?, *.ppt?)
- Extract Metainformation like creation, last access, last modified, by whom, size etc.
- collects document type through the extension.
- In addition to your list, you can check for duplicate files by specifying the /MD5 or /SHA256 arguments.
I collect this information and load it into a database (sqlite for me, but anything able to parse a long CSV file is good) for report generation.
Prints a list of all files in a file system branch
FILELIST [/OPTION] [/FILTER pattern1;pattern2;...] Path(s) [>list.csv]
/OWNERS Adds a column with the file owners (slower)
/NOHEADER Leaves out the column headers and only prints the raw data
/ATTRIBUTES Includes the attributes that are set for each files
/MD5 Adds a column with the MD5 checksum of each file
/SHA256 Adds a column with the SHA256 checksum of each file
/AUTHORS Additionally extracts the name of the author from MS Office
/VERSIONS Additionally extracts the version number from binary files
/LASTSAVEDATE Additionally extracts the last save date of MS Office documents
/FILTER Allows to specify one or more filters, separated with semicolons
/MINSIZE Allows to specify a minimum file size in Bytes. Files which have
a size smaller than the given value will be excluded from the
/FULLPATH Outputs full path of each file instead of separate columns for
file name and file path
/LISTSEPARATOR Allows to set the character used for separating the columns