File Commander

Development



Download latest snapshot from the unstable branch
Operating System 32 bit 64 bit
OS/2 fc2_250-dev.zip (2023-04-19)
Windows fcw250-dev.zip (2023-04-19) fcw64_250-dev.zip (2023-04-19)
Linux AppImage (experimental) filecommander-2.50-vgit-1846-AppImage.zip (2024-04-23)
Debian Buster (old stable) and other Debian based distros filecommander_2.50.vgit-1846-buster1_i386.deb (2024-04-23) filecommander_2.50.vgit-1846-buster1_amd64.deb (2024-04-23)
Rocky Linux 8 & other RPM based distros filecommander-2.50-vgit_1846_rocky8.x86_64.rpm (2024-04-23)
OpenSuse Leap 15.1 filecommander-2.50-vgit_1846_opensuse15.x86_64.rpm (2024-04-23)
OpenSUSE Tumbleweed filecommander-2.50-vgit_1842_tumbleweed.x86_64.rpm (2024-03-20)
FreeBSD 12 filecommander-2.50_vgit-1766.txz (2021-03-08)
Raspbian Buster filecommander_2.50.vgit-1846-buster1_armhf.deb (2024-04-23)
Debian Buster ARM (experimental) filecommander_2.50.vgit-1846-buster1_arm64.deb (2024-04-23)

Detailed Change Log (my git log of all changes)

NOTE: The code in the "unstable" branch is truely bleeding edge. It is likely to contain bugs, have some functions broken and contain partially implemented features. USE AT YOUR OWN RISK!

Version 2.50 introduces a new remote control feature, documented in the 2.50-dev manual in the Remote Control section. To use this you need an fc-remote executable to run on the remote machine which can be downloaded from https://silk.apana.org.au/pub/fc-remote/. It is also included in the Linux packages. This remote control feature is intended to run over an SSH link so the local machine needs an SSH client. While Linux systems typically have SSH included in the base install, Windows does not. I recommend installing my custom build of PuTTY's plink. Most Windows ports of SSH fail to support user interaction, especially password entry, when run with redirected standard I/O which is why I'm providing this custom build with that problem fixed.

Alpha 27 introduces a built-in scripting language which is documented in the 2.50-dev manual, in Running Other Programs / Scripting. Some sample scripts can be downloaded as sample_scripts.zip

Debian Repository

Users of Debian based Linux systems (including Ubuntu) can stay up to date by adding the File Commander repository to their sources list.

RPM Repository

Users of RPM base Linux systems (including Centos, Fedora, Red Hat, OpenSUSE, Mandriva) can stay up to date by adding the File Commander repository to their repository list.

Changes with File Commander 2.50

  *) Editor: Auto-indent white-space detection wasn't Unicode aware, causing
     some high character values to be treated as white-space.

  *) Add support for Zstandard compression.

  *) File Find: Add option to prevent crossing file system boundaries.

  *) Added custom date format with DateFormat directive.

  *) Add "lynx-like" navigation.

  *) RAR v5 support.

  *) Add full path ability to !@ as !@f.

  *) Add "Expand Matches" to the File Find dialog's options.

  *) Editor: Add check that code page is valid before trying to save the file.

  *) Add !T operator, like !t but operates on the opposite panel, providing the full path of tagged files.

  *) Fix crash reading certain 7zip files that have entries with no date stamp.

  *) Pause After Run option.

  *) Fix recursive directory case change on case sensitive file systems.

  *) File Find: Add option to limit recursion depth.

  *) Unix: If "Full Screen" option is off, exposing some of the console, allow mouse
     selecting & copying text from that exposed console. Always allow selecting
     from the command line.

  *) Add HalfScreenConsoleLines configuration option, allowing size of panels to be
     customised when "Full Screen" option is off.

  *) Unix: If "Overwrite All" is used, copy/move overwriting symbolic links would
     overwrite the link targets instead of the link itself.

  *) Added field presets. In any field that has history, Alt-Up displays presets,
     Insert to add, Delete to remove.

  *) Add built-in scripting language, allowing automation of some File Commander
     functions.

  *) Add "Skip On Error" option to file copy, lists failures at the end.

  *) Windows: Support custom date formats.

  *) Windows: Attempt to respond to window resize events when at the panels.

  *) Add %search function in boolean expressions.

  *) Unix: Add support for ~ in paths.

  *) Update File Find summary line when items are removed.

  *) Show File Find summary line when results are recalled with Alt-Shift-F7.

  *) Directory Compare: Determine lowest common timestamp resolution of the two directories
     and round to that resolution before comparing timestamps.

  *) Unix: Implement the xterm control sequence CSI 6n, allowing the unix resize command to work.

  *) Support aborting the read of a large tar/tgz/tbz/txz file using Ctrl-Break.

  *) Unix: Allow working with files/directories that contain backslashes instead of
     assuming they should be forward slashes.

  *) Handle date formats with no separation character.

  *) Fix reading tar archives that have leading space padding in their octal numeric fields.

  *) Windows: Add support for relative symbolic links
     - Use junctions for absolute directory links as they don't require extra privileges.
     - Use newer (Vista+) Symbolic links for file and relative directory links.

  *) Unix: Don't fail a file copy if we weren't able to set the target file's time stamp.
     Some file systems don't allow it.

  *) Improve tar file support:
     - Correctly interpret size values stored in binary format rather than the usual octal text.
     - Correctly process pax 'x' headers.

  *) Editor: Add support for files with mixed line ending type:
     - Alt-U can now toggle between DOS (CR/LF), Unix (LF), Mac (CR), NULL or mixed.
     - When in mixed mode, Ctrl-U toggles the current line between the same options.
     - The character displayed on the status line indicates either the line ending
       type for the whole file (upper case) or, when in mixed mode, the current line
       (lower case).
     - Binary files are now safely editable.

  *) Editor: When a line is padded out by auto-indent, trim the line on file save.

  *) Editor: Remove fixed limit of 8 million lines.

  *) Add hot keys for configuration dialog fields.

  *) Add natural sort option.

  *) Windows: Correctly report memory total/free >4GB.

  *) Add new %timestamp operator which can be compared against either a literal
     yyyymmddhhmmss value or the timestamp of another file using @filename syntax.

  *) Improve handing of quoted paths when Ctrl-J/Ctrl-Enter is used to append to an existing path.

  *) Add support for %attrib=L to test for symbolic links.

  *) Windows: Enable changing the compressed state of files from the File Attribute dialog.

  *) Windows: Add support for %attrib=C to test for file compression.

  *) Improve the way the Make Archive dialog creates the target archive file name.

  *) Optimise directory compare to be faster when comparing directories with a very large number of files.

  *) Editor: Using Shift-F4 to create a new file didn't enable highlighting.

  *) Unix: Fix %perm operator when running as root.

  *) Enable tests on file meta-data in syntax definitions.

  *) Don't include time spent on error messages in the BPS/ETA calculation in
     the copy/move status box.

  *) Add multiple choice associations by the use of double colon rules. Where
     more than one double colon association matches, the user is prompted to
     select which they wish to use.

  *) Add a very simple search function (F7, SF7) to the help window.

  *) Unix: When resizing, ensure that the window remains fully on screen.

  *) Add an editor for the Path Append config value.

  *) Unix: In the mount point selection dialog, do query volume size/free values in a background thread.

  *) Editor: Clear the changed flag if all changes since the last save are undone.

  *) Editor: Add Ctrl-Shift-U/L/M to convert selected text to upper/lower/mixed case.

  *) Add Ctrl-Shift-A in File Find to copy all found files to the clipboard.

  *) Windows: Add limited support for UTF-16 surrogate pairs in file names.

  *) View/Edit: Add support for reading/writing UTF-16 surrogate pairs.

  *) Windows: Make !@ list files TextCodePage encoded instead of UTF8.

  *) Windows: When resolving a path, expand short (8.3) names to their full long name.
     This allows command line cd to work with short names and thus things like cd %temp

  *) Quote names containing a comma on Windows & OS/2 as cmd/bat files split args on
     commas.

  *) Improve the way .tar.gz, .tar.bz2 and .tar.xz archives are handled.
     - No longer have to enter both layers manually.
     - Updating a file inside a .tar.gz file works correctly.

  *) Support boolean expressions in the syntax.ini file.

  *) Add full width panel mode, activated with Ctrl-Shift-F1/F2.

  *) Add option when copying files to dereference symbolic links.

  *) Make Ctrl-W (mark word) work in dialog edit fields.

  *) Windows: List the file's alternate streams in file info dialog.

  *) Add comment support in user menus. Lines starting with // will be treated as comments.

  *) Automatically refresh the Alt-F1/F2 drive lists.

  *) Add filtering of user menu items based on the current file.

  *) Add < and > modifiers for ! operators to override panel referred to as explicitly left or right.

  *) Added scroll bars to panels to provide a visual indication of position in the file list.

  *) Add remote control feature. Allows FC to be run over an ssh connection.

  *) Unix: Add support for displaying unix permissions in a ZIP file.

  *) Unix: Inside a TAR, show unix permissions, owner & group, symlink targets.

  *) On copy progress box, use HH:MM:SS format for elapsed time and ETA when over 1 hour.

  *) Allow field history drop down lists to be wider than their fields if they
     contain longer entries.

  *) Add MaxFieldHist directive to set maximum number of history entries for
     input fields. Was fixed at 20.

  *) Windows: Switch to %APPDIR for storing configuration and data files to
     stop permission errors writing to "Program Files" area.

  *) Add directory synchronize function.

  *) Add option to create relative symbolic links.

  *) Add support for XZ compressed files.

  *) Unix: Greatly speed up scrolling of program output by suppressing screen
     painting while processing a block of text.

  *) Increase size of input field in editor's "Goto Line" dialog to allow
     millions of lines.


Changes with File Commander 2.41

  *) Fix Ctrl-Shift-T.

  *) Unix: Fix ability to delete a broken symlink where the link's target
     contains a directory that now exists as a file.

  *) Fix sorting of unicode file names in the panels.

  *) Unix: Fix position of tick marks in Left/Right menus. Were off by one
     after the addition of the "Unix detail" mode.

  *) Unix: Fix infinite loop when Delete All Read-Only is selected and a read-only
     file can't be deleted.

  *) Stop function key bar being left blank after executing an external command,
     especially an archiver command to update an edited file in an archive.

  *) Unix: Resolve symlinks in the current path when determining the mount point
     and file system to display in the Info panel.

  *) Viewer: Fix jumping to the end of a file >2GB in size.

  *) OS/2,Windows: Quote file names containing a "+" in case they are passed to a
     copy command that interprets a + as a file concatenation.

  *) Viewer: Page Up in hex view mode would sometimes not work.

  *) Fix detection of same source & destination volumes when moving files from File
     Find's search results.

  *) Editor: Support Ctrl-Alt-Space as an alternative to Alt-Space so that
     Windows & Linux can have this "copy remainder of line above" function too.

  *) OS/2,Windows: Fix setting of console text colour when executing a command
     and ConsoleScrollback is off (the default).


Changes with File Commander 2.40

  *) Add !tf (tagged file with full path) 

  *) Fix !t behaviour in archives.

  *) Fix !F when opposite panel is showing an archive's contents.

  *) In Multi-file search/replace confirmation prompt, extend box width if
     necessary to fit the text values and don't overflow box if text still won't
     fit.

  *) OS/2, Windows: Add Ctrl-Shift-E to eject removable media & Ctrl-Shift-L to
     load.

  *) Syntax Highlighter: Enable word characters to be redefined for each state.

  *) Editor: Add /w flag for syntax states for "word scope" to assist with LISP
     keywords.

  *) Add command line file name completion with Ctrl-TAB.

  *) Add support for 7zip format archives.

  *) Support !include in syntax definition file.

  *) Scroll back function to view console program output beyond the current
     window (Ctrl-B).

  *) File information dialog (Ctrl-I) showing detailed file meta-data.

  *) File Find: Added field to specify the code page used when searching files
     for the "Containing" string.

  *) Copy/Move: Add ability to specify overwrite mode in the initial dialog so
     that you don't have to wait for the first collision to occur.

  *) Add !lf operator to provide a list of tagged files with their full path.

  *) Add ability to remove an entry from command history with Delete key.

  *) Creation & deletion of symbolic links/junctions (Linux,Windows).

  *) Some improvements to Change Case function's Mixed mode.

  *) Display the target of symbolic links (Linux) and junctions (Windows).

  *) Viewer and Editor support for Unicode text files.

  *) Syntax highlighting in the viewer.

  *) Win64 port.

  *) Linux port.

  *) Use Unicode for all file names on Windows & Linux.

  *) Change the search match highlight colour in the viewer from "Menu Bar" to
     "Highlight" which is consistent with the editor and more sensible.

  *) Support includes in user menu files.


Changes with File Commander 2.30

  *) Trees now work in archives, including "Retain Dir Count".

  *) OS/2: Typing "mode 100,40" in FC resets ROWS, but not COLUMNS

  *) Prevent changing into a directory that you don't have rights to read. 
     EG the windows "System Volume Information" directory.

  *) Fix bug where retained directory size counts would get reduced when
     browsing directories containing hidden files with "hidden files" option
     off.

  *) Support file sizes >4GB in RAR archives.

  *) Support ZIP files with more than 64k files.

  *) Enable Ctrl/Alt/Shift-Fkey in user menu.

  *) Add multi-file search/replace function to file finder (Ctrl-R).

  *) Win32: Scroll wheel support in viewer, editor & file panels.

  *) OS/2: Added extra validation to guard against malformed .LONGNAME EAs.

  *) OS/2: Support >2GB files on redirected standard I/O.

  *) Editor: Ctrl-Space wouldn't copy characters >127

  *) Add syntax highlighting to the editor.

  *) Make Alt-F9 more like Shift-Alt-F9 in that it toggles between 25, 50 &
     custom number of lines.

  *) Using Ctrl-U didn't swap the panels' filters.

  *) Change Ctrl-\ to exit the current archive if we're in one rather than
     going all the way to the root of the drive.

  *) Win32: Use CopyFileEx() to copy files so that alternate streams are
     preserved.

  *) Using Alt-F1/2 then \ would not turn on the appropriate panel if it was
     hidden.

  *) Add sticky select mode to editor with Alt-S.

  *) Add progress indicator to editor file loading & saving.

  *) Make tree views able to expand/collapse branches. Controlled with Grey +/-
     and Ctrl-Grey +/-. Default tree state can be configured with the
     ExpandedTrees switch in fc.ini.

  *) OS/2: Work around PM insert state change when tagging files.

  *) Remove limit of 4000 matches in File Find.

  *) Include value of PathAppend configuration directive in the PATH
     environment variable of spawned processes.

  *) OS/2: Support BeginLIBPATH & EndLIBPATH pseudo-environment variables for
     extending DLL search path.

  *) In file find results, shift F8 deletion of directories doesn't recognise
     Cancel & All option persists between repeated uses.

  *) Add support for directory store/recall via the normal number keys as well as the numpad.
     (Win32 only).

  *) Add "All Older" option to the overwrite confirmation dialog.

  *) Support environment variable references in stored directory paths.

  *) Change File Find to search directories in alphabetical order instead of
     the LIFO stack it was using.

  *) Add !tx operator, like !t but chops the extension. Handy for converting
     files where the program requies both input & output file names & you want
     to change the extension.

  *) Prevent crash in File Find when searching a path more than 260 characters
     long.

  *) Added support for sub-menus of user menus

  *) Speed up loading of a large command history when MaxHist is set high.

  *) Allow user menu commands to be up to 4096 characters long, up from 259.

  *) Add initial support for UNC paths.

  *) Improve handling of bad sectors while copying files.

  *) Calculate Directory Size: Allow "Total Size" display more room.

  *) Fix retrieval of a stored path that's inside an archive via the Alt-F5
     stored path dialog.

  *) TAR reading: take notice of unix directory mode flag as well as trailing
     slash when deciding if an entry is a directory or file.

  *) Use more efficient memory allocator for storing text lines in editor for
     faster loading of large files.

  *) Optimise use of space in the panel status line when showing quantity &
     size of tagged files.

  *) OS/2: Enable shifted keys to work with keyboard redirectors like the
     telnet server.

  *) In File Find, enable F5/F6 to copy/move all files in the found list.

  *) In File Find, Delete key removes an item from the found list.

  *) Display "dirinfo" file in the lower section of the Info panel. Double
     click of same area or F4 edits the dirinfo file.

  *) Add / and ? keys to viewer as search forwards/backwards as in many unix
     tools (less, vi etc)

  *) Fix menu colouring so that both forground & background of menu highlight
     bar can be configured.

  *) Add built-in "set" command & [Environment] INI file section, allowing
     environment variables to be changed for executed commands. The set
     command allows temporary changes while the INI file section allows more
     permanent settings.

  *) Added Shift-TAB seek name completion


Changes with File Commander 2.21

  *) When copying tagged directories, update the status line after doing the
     size count.

  *) OS/2: Fix code page translation failures after translating large
     quantities of text.     

  *) Translate all paths passed to tar to use forward slashes as some tar
     ports can't understand backslashes.

  *) Move hot key for Brief-Wide in Left/Right menus so as not to clash with
     Info item.

  *) OS/2: Fix sort order of files with some country settings.

  *) Fix rare crash in file contents searching where a negative offset into the
     file was requested when the first byte in the file was present in the
     search string.

Return to File Commander Home Page