Using the command line tools


pdSFV 1.2 comes with three command line tools which can be used from Windows’ MS-DOS boxes. If you want to write batch files or simply prefer textmode applications over graphical user interfaces, here’s your toy. Copy them to somewhere in your PATH so you can run them without having to type the full pathname all the time.

With sfvmake.exe you can create SFV files, with filecheck.exe you are able to check individual files and finally sfvcheck.exe lets you perform a check on a whole SFV file. For batch files: the check tools will exit with errorlevel 1 if there was at least one bad file found, if all files were good it will be errorlevel 0. 


Using sfvmake.exe is simple. It takes two parameters, the first one being the name of the SFV file to be created and the second one a filemask. All files matching the filemask will be added into the SFV file. As example:

sfvmake mysounds.sfv *.mp3

will create a new file “mysounds.sfv” and add all MP3 files in the current directory to it.

Filecheck.exe takes a single parameter which is the filemask of the files to be checked. If you specify a filename, only this one file will be checked, but you can use wildcards as well (that’s new in v1.2, in v1.0 you only could check a single file). For example:

filecheck dummy1.r08
filecheck *.mp3

Please note that you do not have to specify which SFV file to use. It will be found automatically.

Finally, sfvcheck.exe takes the name of a SFV file as parameter and will perform a CRC check on all files listed in there. For example:

sfvcheck CD1\*.sfv

Yes, you can use wildcards here as well. This is useful for batch processing, for example if you want to realize recursive SFV checking.

Batch example: this simple batch file will perform a recursive check of all SFV files you have in any subdirectories on your C:\ drive and store the results in c:\mymp3s.txt:

echo “List of my MP3 files…” > c:\mymp3s.txt
for /d /r %%f in (*) do sfvcheck.exe %%f\*.sfv >> c:\mymp3s.txt

Hint: check out the documentation of batch command “for” if you are interested in using its full power for such operations.