Skip to content
fedetony edited this page Jul 27, 2025 · 12 revisions

Welcome to the File_Map wiki!

File Map Wiki

About File Map

Image

Installing

Using

File Map can be used under Windows or under linux.

Note: Processes are always faster under Linux.

Filemap Databases

Filemap stores information in SQLite databases. You can use one or several databases.

When you run the program you can call the program using to load your database.

Program will search for /db_Files/test_files_db.db unprotected database, if it exists will open it directly.

For non protected database:

  • file_map_main path/to/file/database.db

For protected database:

  • file_map_main path/to/file/database.db password path/to/file/keyfile

For non protected multiple databases:

  • file_map_main path/to/file1/database1.db path/to/file2/database2.db ...

For protected database:

  • file_map_main path/to/file1/database1.db path/to/file2/database2.db ... password1 password2 ... path/to/file1/keyfile1 path/to/file2/keyfile2 ...

Or you can add/remove databases within the program FileMap ──> Handle Databases ──> Append Database File/Remove Database File it will prompt for password and keyfile.

Databases must be activated to be used: When you load them from code they will automatically be activated. You can activate/deactivate databases with FileMap ──> Handle Databases ──> Activate Database File/Deactivate Database File

Database Content:

Each database contains several tables:

  • A reference table: Reference Map
  • Mapped tables: Single Map

Reference Map

The reference map contains information of each map. Explicitly:

File Maps

Each Map holds the information of the map contains information of the mapped files in a device.

Explicitly hold the following metadata:

Mapping

A Map is a recopilation of file contents and metadata within a single device path.

When you enter the FileMap ──> Mapping a summary of the maps available in the Active databases will be displayed.

You can Create/Delete Maps with FileMap ──> Mapping ──> Create New Map/Delete Map

Maps can be distinguish as:

  • Shallow (no md5)
  • Deep (with md5)

The shallow map includes all metadata except the md5 calculation. The md5 calculation is very fast for small files, yet it can take several seconds depending the size of each file.

To map a complete structure takes several minutes. You can make a faster mapping of the files using the shallow map option, but be aware it will take more time to convert the Shallow map to a Deep map, rather than directly mapping a Deep File. Its important to let the Shallow/Fast process finish to have the complete file structure inside the map.

You can interrupt the process while mapping at any time, it will keep the already mapped files. If you interrupt the process between the Shallow process or the Fast process, your Map will be incomplete, meaning files will be missed in the Map. Fast mapping process will calculate all md5 for files under 50Mb and leave the >50Mb for the Thread. The Thread only calculates md5 values for the missing files.

If you interrupt the process during the Thread the map can be continued again by using FileMap ──> Mapping ──> Continue Mapping.

You can rename the map after with FileMap ──> Mapping ──> Rename Map.

  • Name must be unique
  • Name cannot contain certain characters
  • Name has to be in a single word use _ instead of spaces

Mapping Update/Comparison

To update a Map it is required to have the device active, and recognized. You can update using FileMap ──> Mapping ──> Update Map

Updating a map will launch a shallow mapping and compare the shallow map with the actual selected map. Will show you the differences found between the Maps and prompt you for replacing the old Map with new information. If you opt for replacing will change the Timestamp in the Map and set the new information. Will calculate the missing files md5 values.

You can make Shallow comparisons or Deep comparisons:

  • FileMap ──> Mapping ──> Shallow Compare Maps will compare shallow parameters.
  • FileMap ──> Mapping ──> Deep Compare Maps will compare shallow parameters and md5.

This is specially useful as when you want to compare a file structure to another to see what have changed. For example if you make a Map a Folder and some time after you make a map of the same Folder you can make a comparison, and find out what has changed during the period of time.

Deep comparing gives more information about changes, as path changing of a file, renaming of a file or Specific changes. Shallow comparison can only distiguish between add/removed files and changes for same file (size).

Devices

File map scans for Active devices when starts. When a device is found will list them on the devices found. To see the devices use FileMap ──> Show Devices

You need to match the serial of the device with the recorded serial in the Map, for the device to be recognized as the source of the Map. You can rescan the devices using FileMap ──> Rescan Devices

You can set a different serial to a map if the map has a serial number that does not match to your device connected. Use FileMap ──> Mapping ──> Edit Serial/Mount of a Map to set to the map the active serial. The base path of the map must exist.

Note: Under Windows devices may not respond correcly because the library needs to scan the device. Windows may not respond to device serial, specially external connected devices. You can rescan the devices until serial is recognized.

Note 2: Devices under Windows may encounter different serial values as under by Linux.

Maps

You can generate different Type of Maps:

After a map is created you can Browse or search the content of the Map.

Search

This is one of the most useful features of File Map. Once you have several maps you can make filtered searches using SQL. Use FileMap ──> Mapping ──> Search in Maps to search in any map in an active database.

Select the maps you want to search: Use Tab or Space to select the Maps you want to search. Ctrl+A selects all, Ctrl+R Removes all selections, Ctrl+T toggles selection. ESC to cancel, ENTER to end selection.

On the SQL interface you can press F1 to see the possible sql search possibilities: Image

Available Operations:
['id','dt_data_created','dt_data_modified','filepath','filename','md5','size','dt_file_created','dt_file_accessed','dt_file_modified']
Available Operators:
{
    '=': 'Like (case sensitive), use * or % as wildcard',
    '~=': 'Like (Not case sensitive), use * or % as wildcard',
    '==': 'Exactly equal (use % wildcards)',
    '!=': 'Not like, use * or % as wildcard',
    '<>': 'Exactly not (use % wildcards)',
    '>': 'Greater than',
    '>=': 'Greater than or equal',
    '<': 'Less than',
    '<=': 'Less than or equal',
    '||': 'Or',
    '&&': 'And'
}

Now enter the SQL search and you can interactively see what the sql word is going to be queried to the selected databases.

Pressing Tab autocompletes the command in available operations:

  • fil+Tab --> [2] Options for fil: ['path', 'name'] Input Text:file
  • filep+Tab --> SQL WHERE: UPPER(filename) LIKE 'FILEPATH' Input Text:filepath
Image
  • SQL WHERE: (filepath LIKE '%test%' AND size > 20971520) --> shows you the sql to query the Maps database
  • Input Text:filepath=%test% && size>20Mb --> what you query

Note: Do not forget to use wildcards % or * else it will find the exact word as you typed it. This will find all exe files:

  • SQL WHERE: filename LIKE '%.exe'
  • Input Text:filename=%.exe

Any search will respond with a Browse and select files interactive treeview.

Image

ESC to Cancel, ENTER get Selection, ARROWS to Navigate, TAB/SPACE Select a file, CTRL+T Toggle selection, CTRL+A Select ALL, CTRL+R Unselect ALL.

If you have a selection made will allow you to create a Selection Map of the selected items. Will generate a separate selection map for each map on multiple searches.

Process Map

FileMap ──> Mapping ──> Process Map will prompt you to select a single map to process. You can then Browse Files/Directories, Find Duplicates/Repeated Files, Search the selected Map or make a Selection Map by selecting files or directories. You can also Export Map content as text with File Tree, Directory Tree, File Structure or Data List.

Browsing

Interactive Browsing of the Maps can be done in several ways:

Image

Duplicates/Repeated Files

This is intended to be used on Deep maps with completed md5 calculation. Will not stop you from using it with Shallow maps or incompleted maps.

Duplicates are files with the same md5 sum, in the same folder but with different names. Use FileMap ──> Mapping ──> Process Map ──> Find Duplicates to find Duplicates.

Repeated are files with the same md5 sum, in any folder within the map. Use FileMap ──> Mapping ──> Process Map ──> Find Repeated to find Repeated Files.

Duplicates are very useful for download folders, where many copies of the same file coexist with different names. Every time your browser downloads a file it stores it with a different name, yet is the same file with the same md5 sum. Files being in the same download folder it will mark them as duplicates.

After finding the duplicates/repeated, will prompt you for a selection of files which are and you can manually mark which ones you want to keep and which ones you want to remove. If duplicates or repeated files are found you can Browse/Select Files to make a selection. By default it keeps the oldest version of the file and the others are marked (selected) for removal, yet you may prefer to keep a different file with a different name.

Important:

  • Selected files are to be REMOVED --> Remove
  • Unselected files are to be KEPT. --> Keep
Image

Notice it shows you the md5 and path of the file in the tip text for the actual selection.

Image

After the selection, will ask you to make Keep/Remove maps or directly remove the files from the device.

Image

Remove/Keep Maps can be made without deleting the files. Select the Selection map Remove/Keep option.

Only if you select The Remove Selected option will remove the files (not marked as keep) and their references on the map.

Image

CAUTION: ALL ACTIONS ON PHYSICAL FILES ARE UNDER YOUR OWN RESPONSABILITY

Warning: If you select remove it will PERMANENTLY remove every file marked in removal map.

File Map Main Menu

Image

File Map Menu Structure

File Map
|├── About
|├── Show Devices
|├── Rescan Devices
|└── Handle Databases
|  ├── Create New Database File
|  ├── Append Database File
|  ├── Remove Database File
|  ├── Activate Database File
|  ├── Deactivate Database File
|  ├── Back
|└── Mapping
|  ├── Create New Map
|  ├── Delete Map
|  ├── Clone Map
|  ├── Rename Map
|  ├── Update Map
|  ├── Shallow Compare Maps
|  ├── Deep Compare Maps
|  ├── Deepen Shallow Map
|  ├── Continue Mapping
|  ├── Process Map
|    └── --> Select a map
|      ├── Browse Tree
|      ├── Browse Directories
|      ├── Find Duplicates
|      ├── Find Repeated
|      ├── Search Map
|      ├── Map Directory Selection
|      ├── Map Files Selection
|      ├── Export Map
|        ├── Export Tree
|        ├── Export Directory
|        ├── Export File Structure
|        ├── Export Data List
|        ├── Back
|      ├── Back
|  ├── Edit Serial/Mount of a Map
|  ├── Search in Maps
|  ├── Back
|└── Backup
|  ├── Backup of Map base
|  ├── Backup of Selection Map
|  ├── Backup compare
|└── Selection
|  └── --> Select a selection map
|    ├── Browse Tree
|    ├── Browse Directories
|    ├── Search Map
|    ├── Edit Selection from Origin
|    ├── Selection Map Action
|    ├── Back
|└── Sort
|  ├── Select active Files/Directories
|  ├── Select Mapped Files/Directories
|  ├── Deselect Files/Directories
|  ├── Selection to Map
|  ├── Save Selection to File
|  ├── Load Selection from File
|  ├── Process Selection
|  ├── Back
|├── Exit