FileList is a command-line tool that allows you to export the contents of a folder to a CSV document
Organizing your files into folders is a very good habit to get into. It helps save some time when you need to find something, and it also makes your folders a bit tidier.
Cataloging the content of the files can help you further understand what's stored where, sort of like a library record. FileList is a freeware tool from JAM Software, the developer of TreeSize. The command-line utility provides a good way to create a record of your files and folders, e.g. to put on a backup volume along with the backed up content.
For those who aren't used to command-line tools, don't let it scare you, the program is pretty easy to use.
FileList is a portable application, extract it to a folder of your choice. Open a command prompt window, preferably in the same directory, so it's easier to type the command.
The format that you need to use for obtaining the list of files is simple. Just type the word Filelist.exe followed by the full path of the directory that you want to scan.
E.g. Filelist C:\Music
This command creates a list of the files that are located in the Music directory. In addition to the name of the file, the program also displays other properties such as the file size, last modified, last accessed, creation date, extension and containing path.
As you can see, Filelist crams a lot of information in the window. The formatting makes it difficult to read the list as is in a terminal. You can export it to a text document by using a simple command. The syntax for which is Filelist.exe PATH > OUTPUT FILE
E.g. Filelist C:\Downloads\ > C:\Downloads\filelist.txt
Don't forget to include the greater than symbol, that's what tells Filelist to save the data as a document.
But wait, even the text document has the same formatting. That's precisely what I wanted to highlight, and why you should consider exporting the list to a CSV spreadsheet instead.
All you have to do is replace the letters TXT in the above command, with CSV.
E.g. Filelist C:\Downloads\ > C:\Downloads\list.CSV
Open the document in Microsoft Office Excel or Google Sheets, and it should look much more accessible, with a column for each property. Don't like the default format of the list? FileList supports many parameters, which you can use to include additional properties. Say you want to customize the columns that are created by the program, you can use the /USE COLUMNS command to define the format.
E.g. Filelist /USECOLUMNS NAME,EXTENSION,SIZE,FULLPATH,MD5,SHA256 C:\Downloads\ > C:\Downloads\filelist.CSV
So this command does quite a few things, firstly it includes 2 new columns for the MD5 and SHA256 checksum values of the files. Secondly, it discards the last modified, last accessed, and creation date properties.
It is important to note that the parameters should be included before you add the path of the directory, otherwise the program ignores the setting and creates the list with the default rules. Don't use spaces between the parameters.
Maybe you want to exclude some files from the list, for example, those which are less than a particular file size, in which case you can use the MINSIZE option. You will need to define the size limit in bytes, so if you want to filter content that's less than 5 MB, the command will be as follows.
Filelist C:\Downloads\ /MINSIZE 5000000 > C:\Downloads\example.CSV
That may sound like a huge number, but convert it from Bytes to Megabytes and that's just 5 MB.
Similarly, you can add other parameters per your requirements. For the full list of supported commands, please refer to the official documentation. Filelist allows you to use multiple parameters at the same time, and the program will include the additional data in the Output file.
If you don't like command-line tools, but want a similar program that's a bit more user-friendly, try FileList Creator by Stefan Trost.
Powershell: `ls | convertto-csv > file.csv`
Powershell: `ls | convertto-csv > file.csv`
That will very likely not be ‘Unicode-proof’. This one should be:
ls “C:\some folder” -recurse | select Name, Length, LastWriteTime, LastAccesTime, CreationTime, Extension, Directory | ConvertTo-Csv -NoTypeInformation | out-file -Encoding utf8 ‘.\MyFileList.csv’
Personaly, I would Everything for this (from http://www.voidtools.com) :
Everything.exe -createfilelist “c:\folder\output.efu” “c:\path to \some folder”
*Very* fast and results can be shown in the Everything GUI too (File ==> Open File List)
The Everything command can also be applied to the current Everything listing via Everything’s GUI (Ctrl+S or File > Export), with CSV, EFU, and TXT output options.
One thing I like to know about “CSV exporters” is what delimiter characters they allow users to specify. Lots of my files already contain commas [,], semicolons [;], and other common delimiters as part of the original filename. Using colons [:] is reliable (in Windows, at least), since colons are illegal in Windows folder and file names. If I can use colons as delimiters, I don’t get unwanted “false-positive” column breaks.
looks like a good tool, especially with the SHA256 option.
The article leaves out whether or not it recursively reads folder contents. Does it?
cmd in the folder you want: dir > file.txt
(that command is one line, btw )
To my surprise, FileList turned out to be ‘Unicode-proof’ (after a quick check).
Most console applications have difficulties with redirection ( > ); at that point it is mostly dictated by the current configured codepage, and that means trouble.
I wanted to remove duplicate songs from my music library. First get a complete listing of all files and metadata with FileList from Jam software.
1) Music>..\FileList.exe /USECOLUMNS system.Music.Artist,System.Music.AlbumArtist,System.Music.AlbumTitle,System.Media.Duration,system.Title ,NAME,Size,System.Music.Genre,PATHWITHOUTNAME /INCLUDE * > music.csv
2) Open music.csv with Excel the columns should be
Contributing artists Album artist Album Length Title Name Size Genre Containing Path (encode)
3) Add a column called Count between Title and Name
4) in the first entry add the formula =COUNTIF(E$1:E$5000,E2) – I have 4500 entries
5) Duplicate cell down for all the data
6) Add column filters and sort on Count (Largest-smallest) and then Title.
Now it’s easy to see duplicates
when I’m trying to export video length using System.Media.Duration the output file has some long numbers for the duration like “17608850000” or “19030290000” Please advise what am I doing wrong?