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.
Bind a custom hotkey to
cm_FileSync(command 2020) under Configuration > Options > Misc > Redefine hotkeysOnce the window pops up: hit
Alt+Cfor byte comparison,Alt+Sfor nested folders, andF5to run itTap
Ctrl+Shift+Eto 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:
Head over to Configuration > Options > Misc > Redefine hotkeys
In the command search box, type
cm_FileSync(or punch in internal command number 2020)Pick a combo you like - something straightforward like
Ctrl+Shift+Sworks greatHit 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:
Fire your custom hotkey to bring up the sync utility
Tap
Alt+Sto make sure nested subdirectories are includedHit
Alt+Cso it inspects actual byte contents rather than trusting timestampsGive it a moment to run the analysis
Tap
Ctrl+Shift+Eto tuck away matching files so your view isn't clutteredSkim through what's left. Tap
Spaceover any individual file you want to reverse or excludeHit
F5to trigger the file operationsTap
ESCto 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.
Open your saved FTP connection in one panel via
Ctrl+FBrowse to the matching folders on your local disk and the remote server
Launch the sync dialog with your hotkey
Stick with content comparison (
Alt+C), because server clocks and time zones make remote file dates a messVerify 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.dbor annoyingdesktop.inientries from polluting your viewSyncIgnoreDate=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.