XL-FileTools Documentation

Main window

Xl-FileTools Main Window

The main window is divided in three sections:

  • Input: You can select a folder, a single file or multiple files.
  • Functions: Action to apply on selected files. See Functions section for details.
  • Footer: The footer that contains information about the state of the process and buttons: process (or stop when process running), Preview, open settings, help and about.


Input can be a folder, a file or multiple files. When input is a folder, you can use file filters to restrict the scope of the process. You can also include subfolders or not.

File Filters Window

XL-FileTools - File Filters Window

When you select a Folder as input, you can use filters to restrict the scope of the search to files that match your criteria. You can add, edit (by double clicking a filter in the grid) or delete filter. You can also save your filters for a later use. File Filters can be shared between XL-FileTools and XL-Parser. When you click on the add button, the following window will show up:

XL-FileTools - Select File Filters 

You have five types of file filters:

  • Contains: By default, the keyword or regular expression applies to the relative path (folder or file, but excluding input directory). You can select Filename only option to exclude folders. If you select Regex option, a colored border around the textfield will indicate if your regex is ok. If not, you can press the ? button to see the error message.

  • XL-FileTools - Select File 
		Filters Window
  • File size: With Equal operator, you have the possibility to include a list of sizes, but only one size unit. You must also know that if you select a size unit other than bytes, file size will be rounded down to the nearest integer.

  • XL-FileTools - Select File 
		Filters Window
  • Last accessed: With Equal operator, you have the possibility to include a list of dates (format must be the same as in the control, ex.: 2017-04-22).
  • Last modified: Similar to previous filter.
  • Only folders: If you select this filter, only a few functions and options will be available. The most interesting thing you can do with this filter is to copy a tree structure without the files.

Filters can be combined. For example, you can filter using a range of dates (using Before and After filters) or create "greater or equal to" filters. You must know that Only folders can be combined with Contains filter only, because other filters does not apply to folders.

Case scenario

Let's suppose you have a list of files that you want to search on a volume. If you have the files, you can list the size and the hash value of each file. Than, you search the volume, using the list of sizes as a filter, and you list the files including hash values. If you get results, all you have to do is compare these results with the first list you do. If you have a long list, you can use XL-Tools which has functions to do this.

Top of the page


There are three groups of functions: List, Copy or move and Rename.


Xl-FileTools - Functions - 
	List Files

List Files: Produces a report in the selected format that can include the selected details:

  • Full path: The full path of the folder or the file. If not selected, only files will be in the report.
  • Path: Relative path of the folder or the file.
  • Filename: Only the filename.
  • Extension: The extension of the file.
  • File details: A popup will appear where you can select any of the three type of detail: file size, last accessed date and last modified date.
  • Hash values: A popup will appear where you can select any of the four hash functions: MD5, SHA1, SHA256 and SHA512.
  • Count duplicates: With this option, duplicates will be counted. A popup will appear where you can select how to count duplicates, based on MD5 or filenames.
  • List of members: For xls(x) and zip only. For xls(x), it gives the list of sheet names. For zip, it gives the list of the files inside the archive.
  • Number of files: This option is available for folders and zip only. It gives the number of files in the folder or the archive. For folders, it doesn't include the subfolders.
  • Number of lines: This option is available for text files only.
  • Number of pages: For doc(x), xls(x) and pdf only. It gives the number of pages inside the document or the number of sheets in case of xls(x) file.

Some informations, like hash values, apply only to files as other, like number of files apply only to folders. By default, report includes a header with the name of each columns, but you can disable it with the No header option. With No folder option, only files will be included in report.

Report: This is the folder where the report will be saved. The folder is automatically saved. Available report formats for List Files are TXT (TSV (tab-separated values)), HTML or XLSX.

Important: There is no preview for the List functions.

Xl-FileTools - Functions 
	- List Extensions

List Extensions: The report produced by this function contains two columns. The first column is the list of extensions found and the second column contains the count for each extension. The list is sorted on the second column. Example:

Extension	Count
LOG	250
TXT	78
XLS	53
PDF	10

You can limit the length of extensions that will be in the report. If you want to count the number of files that don't have extension, set the minimum length to 0.

Top of the page

Copy or move

Xl-FileTools - Functions 
	- Copy or move

There are two options: Duplicate tree structure (subfolders) and Exclude duplicates (based on MD5).

For these functions, you must provide a destination folder. Before copying or moving files, XL-FileTools must check if there is enough space on the destination volume.

Move is fastest, because it simply renames files (except if destination folder is on a different volume). If you select Duplicate tree structure option, it will also create the subfolders. At the end of the process, XL-FileTools will delete empty folders in the input directory, but not the input directory itself. If some files have not been moved (if you use a filter or in case of error), folders will not be deleted.

Top of the page


There are three categories for this function: By hash, By sort and Replace-By.

Xl-FileTools - Functions - 

By hash: This function renames file by their hash value (MD5, SHA1, SHA256 or SHA512). You can exclude duplicates and/or remove extensions.

Xl-FileTools - 
	Functions - Rename - By Sort

By sort: This function does two things. First, it sorts files in each folders. Secondly, it renames the files with an incremental value to keep files sorted. There is a lot of options:

  • Sort options: You can sort files based on the alphabetical order, the file size, the last accessed date or the last modified date.
  • Rename options:
    • Remove extensions: Extensions will be removed for all files.
    • Value type: Type of incremental values. Available types are decimal (1,2,3,...), lowercase alphabet (a-z,aa-zz,...), uppercase alphabet (A-Z,AA-ZZ,...), lowercase hexadecimal (0-f,00-ff,...), uppercase hexadecimal (0-F,00-FF,...) and roman numerals (I,II,III,IV,...) .
    • Length (min): This is the minimal number of digits to represent the incremental value. As an example, with a length of 3, the value 1 becomes 001.
    • Start with: This is the initial value.
    • Step by: This is the difference between each value.
    • Prefix (optional): You can add a fixed string at the beginning of each filename (see note about reserved characters).
    • Suffix (optional): You can add a fixed string at the end of each filename (see note about reserved characters).

    Xl-FileTools - 
		Functions - Rename - Replace-By
  • Replace-By: You can replace any part of the filename or of a subfolder name in the path. Available options are:
    • Regex: If your expression is a regex, you must check this option. If not checked, every special characters will be mark as literal (escaped).
    • Match case: With this option, expression must match uppercases and lowercases.
    • Folders: By default, your expression will apply to filenames only. With this option, your expression will apply on subfolder names instead.
    • Expression in replacement (By): This is the expression to use as replacement (see note about reserved characters). By default, the expression is interpreted as a string like the replace function in XL-Tools which means that you can use capture groups (equivalent to sprintf() with Eval option, see examples below).
      • The Eval option tells XL-FileTools to evaluate the expression so you can also use some Perl functions (see here for list of functions). Please note that this can be dangerous if you don't know what you're doing. You really should use this with preview mode before doing it for real. Some examples:

      Operation Filename Replace: Regex: By: Eval: Results
      Remove file extension
      Shift data
      To lowercase
      To UPPERCASE with \U
      To UPPERCASE with sprintf
      To UPPERCASE with uc
      Convert decimal to UPPERCASE letter
      Format number with leading zeroes
      sprintf("XL-FileTools_"."%03d", $1)
      Why dangerous? Try this...
      Program exits.

    • Some notes about renaming functions:
      • Reserved characters: Some characters are reserved and can't be used for file and directories (See here for more details). If you try to use it, you will get error. This include the following characters:
        • < (less than)
        • > (greater than)
        • : (colon)
        • " (double quote)
        • / (forward slash)
        • \ (backslash)
        • | (vertical bar or pipe)
        • ? (question mark)
        • * (asterisk)
      • When renaming, if the renamed filename already exists in the destination folder, it will be renamed with an incremental value (1,2,3,...)
Top of the page

Validation on the fly

XL-FileTools, like my other tools, validates controls on the fly. Everytime you click on a checkbox, you select a different option, you change the content of a textfield, etc., the GUI will change, based on your changes.

Regex and replacement expression are also evaluated on the fly and the status will be indicated with a colored border around the corresponding textfield.

  • Green means OK ;
  • Yellow means Warning ;
  • Red means Error ;

To see warning or error message, previous controls must meet requirements. In the footer of the Main Window, if Not Ready? Click here is visible, click on it if you want to know what to do next.

Top of the page

Preview Window

Xl-Tools Preview 

With Preview Window, you can see what's gonna happen before doing it for real. The Preview is available as soon as your input and selected filter options are validated, but for the left side (Before) only. When your function options are set and validated, the results will be shown on the right side (After).

Take note that there's no Preview for the List category.

Some errors and messages can be shown in the Preview Window but not all. For example, errors related to file system permissions can't be evaluated in preview mode.

Top of the page

Settings window

Xl-Tools Settings Window - General


In Tool section, we have the following functions:

  • Export Lang.ini: Use this function to translate XL-FileTools GUI. See Translation for help about this functionality.
  • Open user dir: This is the directory where settings are saved. Copy the content of this directory if you want to backup your settings.
  • Check Update: Check on le-tools.com if a tool update is available.
  • Check for update at startup: Check if and update is available everytime XL-FileTools is started.

In Functions section, you have the following options:

  • Local timezone: This option will affect the last-accessed and last-modified date and time.
  • Format file size: When listing files, the file size is written as number of bytes. If you select this option, the file size in report will be rounded and represented as Kb, Mb, Gb.
  • Use lowercases for hash value: This option applies to List and Rename functions.


Xl-Tools Settings 
	Window - Logging

In Logging section, we have the following options:

  • Enable logging: If checked, errors and activities are logged in a text file (XL-FileTools.log). You must select a directory where the log file will be created:
    • Use default folder: If you used the installer, the default folder is AppData. Otherwise, it's the same folder than the program.
    • Use this folder: Enter the folder where you want the log file to be saved.
    • For copy or move, use destination folder: If checked, log file will be saved in the destination folder when copy or move function is used. Selected option above remains for other functions.

Top of the page


Credits to Free Website Templates for the template of this Website