As of Synchronet v3.19, this utility has been deprecated in favor of the new
filelist.js utility script.
FILELIST - Generate Synchronet File Directory Listings
This utility creates an ASCII text file list of the files in a Synchronet file transfer database. This utility is useful for creating file lists for users to download, exporting into other programs, or for easy statistics reporting by the sysop.
The default output is compatible with the FILES.BBS standard format. Options are available for enhancing the output for your needs.
Understand that this is an EXPORT utility and is not necessary for the normal execution of Synchronet. This utility exports from the binary indexed file databases of Synchronet into ASCII text. If you are looking for a program to IMPORT files from ASCII into Synchronet, you need to look for the ADDFILES utility for Synchronet. If you are just trying to ADD files to your Synchronet database, then you need to read Sysop Commands - specifically the “;UPLOAD” sysop transfer section command.
usage: FILELIST [dir_code] [switches] outfile
switches: /LIB name All directories of specified library
/ALL All directories in all libraries /NOT code Exclude specific directory /CAT Concatenate to existing outfile /PAD Pad filename with spaces /HDR Include directory headers /CDT Include credit value /ULN Include uploader's name /ULD Include upload date /DFD Include DOS file date /DLD Include download date /DLS Include total downloads /NOD Exclude normal descriptions /NOE Exclude normal descriptions, if extended exists /EXT Include extended descriptions /JST Justify extended descriptions under normal /+ Include extended description indicator (+) /- Include offline file indicator (-) /* Short-hand for /PAD /HDR /CDT /+ /-
Either the “/LIB name”, “/ALL”, or <dir_code> parameter must be included for a list to be generated. If you want to create a list of files for a single file directory, use that directory's internal code as the first parameter on the command line. If you want all directories in a certain library to be in the list, use the “/LIB name” switch - where “name” is the short name of the library you want to list. If the library short name is more than one word, you most puts quotes around the name (e.g. /LIB “short name”). If you want to include all the directories on your system in the list, use the “/ALL” parameter.
If you want to exclude a specific directory from a library (when using the “/LIB” or “/ALL” parameters), use the “/NOT” switch and follow the switch with the internal code of the directory to NOT include in the list. If you wish to exclude multiple directories, you must use multiple “/NOT” switches.
If you want the list to be appended to an existing file rather than overwrite the original file, include the “/CAT” switch on your command line.
The default format for file names is non-padded (FILE.EXT). If you want the list to have the filename and extension in separate columns (like the file listings inside Synchronet), use the “/PAD” switch, so that “FILE.EXT” will be displayed as “FILE .EXT”.
If you want a small header to be placed at the beginning of each directory, include the “/HDR” switch. The header contains the library short name, the directory long name, and the total number of files in the directory.
If you want the credit value of the file (normally the same as the file size) included in the listing, include the “/CDT” switch on the command line.
If you want the name of the uploader of each file to be included in the list, use the “/ULN” switch on the command line.
If you want the date of the upload (in MM/DD/YY format) to be included in the list, use the “/ULD” switch on the command line.
If you want the DOS file date to be included in the file listing, use the “/DFD” switch on the command line.
If you want the date of the most recent download (in MM/DD/YY format) to be included in the list, use the “/DLD” switch on the command line.
If you want the total number of downloads for each file included in the list, use the “/DLS” switch on the command line.
If you DO NOT want the normal (58 character) description included in the file list, include the “/NOD” switch on the command line.
If you want the normal description to be excluded only if an extended description exists, then use the “/NOE” switch. This is useful for generating file lists from a directory where the original descriptions were imported from an ASCII file list using ADDFILES. When using this switch, you do not have to include the “/EXT” switch.
If you want extended descriptions to be included in the file list, use the “/EXT” switch on the command line.
If you want extended descriptions to be automatically justified under the normal description, include the “/JST” switch on the command line. You do not have to include the “/EXT” switch if you use this switch.
If you want the '+' identifiers for extended descriptions to be included in the list, use the “/+” switch.
If you want the existence of each file to be verified and non-existent (offline) files to be indicated by a '-', use the “/-” switch. This switch should NOT be used for CD-ROM directories.
To generate a list most closely resembling the internal Synchronet file listing format, use the “/*” switch. It is the same as including the “/HDR”, “/CDT”, “/PAD”, “/+”, and “/-” switches.
SBBSNODE Environment Variable:
Prior to running FILELIST you must set the SBBSNODE environment variable to the path of one of your NODE directories.
If you want to create a simple FILES.BBS format listing of your GAMES directory (and the directory's internal code is “GAMES”), then use the following command line:
FILELIST GAMES FILES.BBS
This command line would create the file “FILES.BBS” in your current DOS directory with a list of the filenames and descriptions in your Synchronet GAMES file directory. This file could then be imported into another BBS package or used by another FILES.BBS compatible program for searching, sorting, moving or other file maintenance.
If you want to create a list of all the files on your BBS that closely matches the format of the internal Synchronet file listings, use the following command line:
FILELIST /* /ALL FILELIST.TXT
This command line would create the file “FILELIST.TXT” in your current DOS directory with a list of the filenames, credit values, and descriptions of all the files in your Synchronet file transfer database. A header for each file directory would be included and the filenames would be padded with spaces for easier viewing.
To generate the same list, but include any extended descriptions as well, add the “/EXT” switch after the “/ALL” parameter.
If you wanted to create a list of all the files on your BBS with detailed statistical information, you may want to use a command line similar to the following:
FILELIST /* /ALL /NOD /ULN /ULD /DLD /DLS FILESTAT.TXT
This command line would create a list of the files with the uploader's name, the date the file was uploaded, the date of the most recent download, and the total number of downloads. The “/NOD” switch would cause the descriptions to be excluded from the list. This list could then be used for statistic reports. It would be a fairly simple programming task to create a utility that read in this generated file and created file popularity graphs or a list of the most valued uploaders. The possibilities are endless.
The functionality of creating file lists is not limited to only this utility. There are commands to generate file lists (of both New files and All files) from the Temp Directory menu in the Synchronet transfer section. Users can use these commands to generate lists for download immediately. Also, QWK packets generated in Synchronet contain a file named “NEWFILES.DAT” - an ASCII text file containing a list of files uploaded since the user's last logon.
The main advantages of this utility over the internal file list generation capabilities of Synchronet are its output format flexibility and compatibility with the FILES.BBS standard.