Picture this: you’ve got two project directories sitting side-by-side in Total Commander, someone pushed an update late last night, and now you have to dig through and see what actually changed. Digging into the menus and clicking Commands > Synchronize Directories every single time gets old fast. If you want to fly through this without touching your mouse, here is how you run the whole flow strictly from the keyboard - plus all the real-world edge cases basic walkthroughs gloss over.

  1. Bind a custom hotkey to cm_FileSync (command 2020) under Configuration > Options > Misc > Redefine hotkeys

  2. Once the window pops up: hit Alt+C for byte comparison, Alt+S for nested folders, and F5 to run it

  3. Tap Ctrl+Shift+E to filter out identical files so you only look at actual differences

Binding Synchronize Directories to a Keystroke

Out of the box, Total Commander doesn't ship with a dedicated hotkey for directory sync. You'll want to map one yourself to save your wrists:

  1. Head over to Configuration > Options > Misc > Redefine hotkeys

  2. In the command search box, type cm_FileSync (or punch in internal command number 2020)

  3. Pick a combo you like - something straightforward like Ctrl+Shift+S works great

  4. Hit OK and give Total Commander a quick restart to lock it in

Moving forward, just browse to your two folders in the active panels, hit your shortcut, and the compare dialogue opens instantly.

A quick tip: If you constantly compare the exact same pair of directories, pin them using locked tabs. Hit Ctrl+T to spawn a new tab, navigate to where you need to be, and right-click the tab to lock it. Every time you launch TC, your working paths are already sitting there ready to go.

Essential Shortcuts Inside the Sync Window

As soon as the sync screen is in front of you, you can control the entire comparison directly from these keys:

Comparison Controls

Shortcut Action When to use
Alt+C Run a full byte-by-byte file compare Whenever modification times lie (cross-platform setups, FTP, fresh git checkouts)
Alt+I Ignore timestamps altogether When you strictly care about data parity regardless of when someone saved the file
Alt+S Include or skip subfolders Toggling recursive scans on deep directory trees

Seriously, make mental note of Alt+C - it's easily the most useful toggle here. Relying on file modification dates is fast, but it bites you surprisingly often in the real world.

Copying files between NTFS and ext4 introduces rounding quirks (100ns precision vs 1ns), FTP hosts frequently toss back dates skewed by remote time zones, and running git checkout stamps every touched file with right now. If you have any doubt, do a content check.

Display Filters (Ctrl+Shift Combinations)

Use these to declutter your screen and isolate specific differences:

Shortcut Filter
Ctrl+Shift+L Show items that only exist on the left
Ctrl+Shift+R Show items that only exist on the right
Ctrl+Shift+E Toggle identical files
Ctrl+Shift+N Toggle newer files (mismatched timestamps)
Ctrl+Shift+D Toggle files with differing bytes
Ctrl+Shift+S Show files currently tagged for transfer

Tapping any of these a second time toggles that specific category back on. You can stack them, too - hitting both Ctrl+Shift+L and Ctrl+Shift+R instantly leaves you with an isolated list of unique files missing from either side.

Action Shortcuts

Shortcut Action
F5 Fire off the sync (moves files based on current arrow directions)
F2 Open the preset menu to save or restore comparison rules
Ctrl+F3 Launch the internal side-by-side diff viewer on the selected pair
Space Cycle through sync arrow directions (or set an item to skip)
ESC Bail out of the sync screen back to your panels

Practical Run: Backing Up a Local Project to an External Disk

Here is what an everyday, hands-on-keyboard backup session looks like:

  1. Fire your custom hotkey to bring up the sync utility

  2. Tap Alt+S to make sure nested subdirectories are included

  3. Hit Alt+C so it inspects actual byte contents rather than trusting timestamps

  4. Give it a moment to run the analysis

  5. Tap Ctrl+Shift+E to tuck away matching files so your view isn't cluttered

  6. Skim through what's left. Tap Space over any individual file you want to reverse or exclude

  7. Hit F5 to trigger the file operations

  8. Tap ESC to jump right back to your regular file lists

I lean on this exact routine every Friday to mirror a beefy 40 GB working folder over to an external NVMe drive. Even with a couple thousand changed files scattered throughout the tree, the scan takes maybe fifteen seconds, and the whole check is wrapped up in under a minute. The very first time I dialled in the flags, I hit F2 to save the preset; now I just pull up TC, recall the profile, press F5, and walk away.

Working with Remote Files Over FTP

Total Commander treats active FTP sessions like regular directories, which comes in handy when you need to deploy static sites or patch remote server files without launching an external client.

  1. Open your saved FTP connection in one panel via Ctrl+F

  2. Browse to the matching folders on your local disk and the remote server

  3. Launch the sync dialog with your hotkey

  4. Stick with content comparison (Alt+C), because server clocks and time zones make remote file dates a mess

  5. Verify the pending copies and run the sync

A word of caution on performance: Running an FTP byte comparison forces TC to pull down file data across the wire to inspect it locally, which grinds to a halt on massive sites. Trying that against a typical shared hosting plan with over 8,000 assets once left me waiting twenty minutes.

You can sidestep this by dropping file wildcards into the filter field up top - something like *.php *.html *.css *.js keeps things nimble. Alternatively, check whether your host responds to the MDTM command (most modern daemons do), which makes timestamp-based matching accurate enough to skip heavy downloading.

How Deletions and File Clashes Actually Work

Most tutorials skip over this part, but here is how TC actually behaves behind the scenes:

Handling deletions: When a file sits on the left pane but has been removed from the right, TC displays a directional transfer arrow pointing toward the empty side. It will not silently prune missing files from your destination to match the source.

If you want a genuine mirror sync where deleted source files disappear from the target, you must manually pick those rows and delete them yourself. There isn't an automated "mirror purge" toggle hiding in this tool.

Handling two-way edits (conflicts): If a file has been touched on both sides since your last mirror run, TC flags it with a red "not equal" symbol instead of an arrow. It refuses to guess which version you want to overwrite. Highlight the row, hit Ctrl+F3 to open the side-by-side diff viewer, figure out which file has the valid code, and use the Space key to assign the transfer direction yourself.

One-way versus two-way syncing: Out of the box, TC leans toward a bidirectional mindset - it assumes you want newer versions copied over wherever they are. If you strictly want your local folder to push outbound without pulling remote junk back, toggle off the reverse files using your shortcut filters or flip conflicting arrows with Space.

Saving Profiles for Later via F2

When you find yourself running the same directory comparisons day in and day out, tap F2 right in the sync window to store your active profile. This remembers:

  • The exact left and right paths

  • All active rule toggles (subfolder recursion, date checks, content comparison)

  • Applied file masks and wildcards

These presets live as .fsi files directly inside your Total Commander config folder. When you return later, press F2 to pick your saved setup from the list. If you balance a few distinct repositories or clients, name them clearly - like client-backup.fsi or web-production.fsi.

Fine-Tuning Sync via wincmd.ini

If you like tweaking low-level application behavior, TC exposes sync parameters directly inside wincmd.ini (typically found in %APPDATA%\GHISLER\). Drop these straight into the [Configuration] block:

  • SyncHideHiddenSystem=2: Automatically filters out hidden and OS-level system files from comparison passes. This keeps noise like .thumbs.db or annoying desktop.ini entries from polluting your view

  • SyncIgnoreDate=1: Tells the sync tool to always ignore timestamps by default whenever you pop the window open

These directives have worked reliably since TC 7.0 and survive across software version upgrades.

Troubleshooting the Typical Annoyances

Identical files show up as mismatched: You will see this constantly when moving files between Windows and Unix environments. Between line ending differences (CRLF against plain LF) and differing filesystem timestamp granularities, basic comparisons throw false alarms. Toggling Alt+C for a byte check cleans these up.

Nested subdirectories aren't showing up: The recursive subfolder toggle (Alt+S) tends to fall back to default state between clean launches. Save your configured state with F2 so it persists every time you load that setup.

FTP comparisons take forever: Scope down your comparison field with file patterns instead of scanning blind. You can also confirm whether your server understands MDTM: connect via FTP, then enter QUOTE MDTM filename.txt into TC’s bottom command prompt. If you get a valid timestamp back, you can safely skip the heavy content scanning and rely on remote file dates.

Sync arrow directions look backwards: TC assigns transfer arrows purely by looking at which side holds the newer modification date. Whenever those dates can't be trusted, lean on byte checks (Alt+C) and use Space to manually direct where files ought to land.

If you enjoy keeping your hands on the keys, these Windows window management shortcuts complement Total Commander's layout nicely. And if your everyday transfers target remote Unix hosts, getting comfortable with how to find files in Linux from the terminal is a handy way to inspect what actually landed on the server.