Downloads of v


Last Update:

03 Sep 2021

Package Maintainer(s):

Software Author(s):

  • Christian Ghisler


file manager shareware nagscreen trial admin

Total Commander

  • 1
  • 2
  • 3 | Updated: 03 Sep 2021



Downloads of v



Software Author(s):

  • Christian Ghisler

  • 1
  • 2
  • 3
Total Commander

  • 1
  • 2
  • 3

Some Checks Are Exempted or Have Failed

Not All Tests Have Passed

Validation Testing Exemption for this package version only:

Exempted due to a workarround needed because of this issue:

Verification Testing Passed


Scan Testing Resulted in Flagged as a Note:

At least one file within this package has greater than 0 detections, but less than 5

Learn More

Deployment Method: Individual Install, Upgrade, & Uninstall

To install Total Commander, run the following command from the command line or from PowerShell:


To upgrade Total Commander, run the following command from the command line or from PowerShell:


To uninstall Total Commander, run the following command from the command line or from PowerShell:


Deployment Method:

📝 NOTE: This applies to both open source and commercial editions of Chocolatey.

1. Enter Your Internal Repository Url

(this should look similar to

2. Setup Your Environment

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

2. Get the package into your environment

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Copy Your Script

choco upgrade totalcommander -y --source="'INTERNAL REPO URL'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:

choco upgrade totalcommander -y --source="'INTERNAL REPO URL'" 

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0

Exit $exitCode

- name: Install totalcommander
    name: totalcommander
    version: ''
    state: present

See docs at

chocolatey_package 'totalcommander' do
  action    :install
  source   'INTERNAL REPO URL'
  version  ''

See docs at

cChocoPackageInstaller totalcommander
    Name     = "totalcommander"
    Version  = ""
    Source   = "INTERNAL REPO URL"

Requires cChoco DSC Resource. See docs at

package { 'totalcommander':
  ensure   => '',
  provider => 'chocolatey',
  source   => 'INTERNAL REPO URL',

Requires Puppet Chocolatey Provider module. See docs at

4. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

This package was approved by moderator TheCakeIsNaOH on 06 Oct 2021.


Total Commander is a file manager for Windows, a tool like the Explorer or file manager, which comes with windows.
But Total Commander uses a different approach: it has two fixed windows, which makes copying files much easier.


  • Two file windows side by side
  • Multiple language and Unicode support
  • Enhanced search function
  • Compare files (now with editor) / synchronize directories
  • Quick View panel with bitmap display
  • ZIP, 7ZIP, ARJ, LZH, RAR, UC2, TAR, GZ, CAB, ACE archive handling + plugins
  • Built-in FTP client with FXP (server to server) and HTTP proxy support
  • Parallel port link, multi-rename tool
  • Tabbed interface, regular expressions, history+favorites buttons
  • Thumbnails view, custom columns, enhanced search
  • Compare editor, cursor in lister, separate trees, logging, enhanced overwrite dialog etc.
  • Unicode names almost everywhere, long names (>259 characters), password manager for ftp and plugins, synchronize empty dirs, 64 bit context menu, quick file filter (Ctrl+S)
  • USB port connection via special direct transfer cable, partial branch view (Ctrl+Shift+B), and many improvements to ftp, synchronizing and other functions
  • And many more!

Plugin downloads
Plugin development

Package parameters

The following package parameters can be set:

  • /DesktopIcon - Add an icon for Total Commander to the Desktop. By default no icon is added.
  • /InstallPath - Use custom install path. By default Total Commander is installed to the %ProgramFiles%\totalcmd directory.
  • /DefaultFM - Use TC as default file manager instead of Explorer. Use /DefaultFM:explorer to return to Explorer.
  • /ShellExtension - Add Total Commander in shell context menu for directories.

These parameters can be passed to the installer with the use of --params. For example: --params '/DesktopIcon'.


  • This package sets system environment variable COMMANDER_PATH which points to the Total Commander install directory.
  • This package contain combined Total Commander installer which contains both x32 and x64 bit versions.
  • Total Commander is a Shareware program. This means that you can test it for a period of 30 days. After testing the program, you must either order the full version, or delete the program from your harddisk.

Software Licence / Copyright
Software Licence
Please read the following lines carefully before using this software. If you disagree with any of the following, you are not allowed to use this program. You MUST then delete it immediately.
You have the right to test this program for a period of one month. You are allowed to copy this Shareware-version (and ONLY the Shareware version) and give it to any other person, as long as it is not modified in any way. Under modifications is understood the changing, adding or removing of any files of this package without the author's written permission. You are NOT allowed to pack this program together with a commercial program or a book. Shareware dealers are allowed to sell the Shareware version for a small fee (around CHF/US$ 10.-). It must be clear to the buyer that he isn't receiving the full version! You are encouraged to put this program on as many BBS systems as possible. The distribution on CD-ROM is also permitted, as long as the original files are not changed in any way. Please contact me if you want to distribute the program with a different installation program, changed files etc. Programs marked as "Beta" or "Release candidate" may not be distributed under any conditions.
Use of this software after the trial period of one month is in violation of international Copyright law! It is also unfair to the author, who has spent hundreds of hours developing this program.
This program is neither freeware nor public domain. Use after the 30 day trial period requires registration. The registration fee is only CHF 40.- incl. S&H ($ 38.- US personal cheque or cash including handling fees) for a personal licence, or CHF 30.- for a student licence (with photocopy of student identity card). The student licence can only be registered to the full name of the student. See How to register for details on registration and support.
Registered version (personal licence)
The registered version may be installed on as many computers as desired, as long as it is used by only one person at any one time (I.e. one installation at home and one at the office used by the same person). Therefore you need only one licence for a port connection between two computers. The usage by multiple people at the same time (on multiple computers) requires additional licences.
Additional licences (multi-user licences)
Additional licences allow an institution, company or school to install the program on multiple computers and/or servers. Each licence allows one person at the same time to use the program on an unlimited number of computers. For example, if 10 people run Total Commander at the same time on 20 computers (desktop/notebook), a 10 user licence would be needed. All licences are issued to the same (company) name, which appears in the program's title bar. Additional licences cost CHF 20.- for the 2nd to 10th licence, etc. (see additional licences for details). For larger amounts than 1000 please contact the author. Each additional licence also allows a single user to use the program at home.
We try to keep our software as bug-free as possible. But it's a general rule (Murphy's), that no software ever is error free, and the number of errors increases with the complexity of the program. That's why we cannot guarantee that this software will run in every environment, on any Windows compatible machine, together with any other application, without producing errors. Any liability for damage of any sort is hereby denied. In any case, the liability is limited to the registration fee.
Please test this program with non-critical data. We cannot guarantee the safety of your data. Especially new operating systems released after a specific version of Total Commander can cause trouble, so make sure to upgrade often. Should you detect errors before registration, you accept them if you register. Any description of bugs will be accepted, but we cannot guarantee that we will be able to correct them (but we will try our best).
Development of Total Commander
Total Commander was written utilizing Borland Delphi 1.0 (16 bit) and 2.0 (32 bit) (© 1993-96 by Borland International), and Lazarus/Free Pascal (64 bit). The Drag&Drop-algorithms, especially the undocumented parts, were found in the very good book "Undocumented Windows", Andrew Schulman, Addison Wesley 1991. The DPMI-handling for setting the volume label was taken from the book "Turbo Pascal für Windows - Object Windows", A. Ertl/R. Machholz, Sybex 1992. Only the algorithms were taken and rewritten in Pascal. The idea for the screen layout was taken from DCC, a Norton Commander (© Symantec) clone. All code from the German issue WinDOS was removed and rewritten for Copyright reasons. The ARJ and LHA code was translated by Mart Heubels (WinCAT PRO) and myself from public C sources to Pascal. A free unpacking DLL is available upon request. The internal ZIP packer is based on Zlib by Jean-loup Gailly. The C sources are available on the Internet, on the same server as ZIP-NT. MD5 Implementation provided by Greg Carter, CRYPTOCard Corporation. The AES encryption code used in the ZIP packer was developed by Dr Brian Gladman. The LZMA SDK (ZIP method 14) is written and placed in the public domain by Igor Pavlov. The AES256 and AES512-hash functions are Copyright 2002-2007 Wolfgang Ehrhardt. Optimized MD5, SHA1 and SHA256 parts from DCPcrypt Cryptographic Component Library v2, Copyright (c) 1999-2003 David Barton.
All mentioned Trademarks and Copyrights belong to their respective owners.
Legal domicile is Bern, Switzerland.
Christian Ghisler, Ghisler Software GmbH, PO Box, CH-3065 Bolligen, Switzerland, 2015

Verification is intended to assist the Chocolatey moderators and community
in verifying that this package's contents are trustworthy.

The installer have been downloaded from TotalCommander website and can be verified like this:

1. Download the following installers:
  setup: <>
  installer: <>

2. You can use one of the following methods to obtain the checksum
  - Use powershell function 'Get-Filehash'
  - Use chocolatey utility 'checksum.exe'

  checksum type: sha256
  checksum-setup: 1B65031E4D19073E997B6AF5C6369BC06A52FF40A561C75DC2C6D22738327A3E
  checksum-installer: 80DE9C2C49FC63965CF0E9BCB1A0E6D25187A1613BDE2086BDA79EFBDC8FCEB8

File 'LICENSE.txt' is obtained from help file of the application.
$ErrorActionPreference = 'Stop'

$toolsPath = Split-Path $MyInvocation.MyCommand.Definition
. $toolsPath\helpers.ps1

$pp = Get-PackageParameters

$env:chocolateyInstallArguments = Get-TCInstallArgs
$env:chocolateyInstallOverride = 1
$packageArgs = @{
    PackageName    = 'totalcommander'
    FileType       = 'exe'
    File           = Get-Item $toolsPath\tc*.exe
    SilentArgs     = ""
    ValidExitCodes = @(0)
    SoftwareName   = 'Total Commander*'
Install-ChocolateyInstallPackage @packageArgs
Remove-Item $toolsPath\*.exe -ea 0

$packageName = $packageArgs.packageName
$installLocation = Get-TCInstallLocation
if (!$installLocation)  { Write-Warning "Can't find $packageName install location"; return }
Write-Host "$packageName installed to '$installLocation'"

Write-Host 'Setting system environment COMMANDER_PATH'
Set-EnvironmentVariable 'COMMANDER_PATH' $installLocation Machine

if ($pp.ShellExtension)              { Set-TCShellExtension }
if ($pp.DefaultFM -eq $true)         { Set-TCAsDefaultFM }
if ($pp.DefaultFM -like 'explorer*') { Set-ExplorerAsDefaultFM }

Register-Application "$installLocation\$tcExeName" tc
Write-Host "$packageName registered as tc"
; default environment
DetectHiddenWindows, off
SetControlDelay, 20

; modified environment
DetectHiddenText, off
SetTitleMatchMode, 2  ;contains

; variables
winTitle1 = Uninstall /Repair Total Commander ahk_class #32770
winTitle2 = Uninstall Total Commander ahk_class #32770
winTitle3 = Uninstall ahk_class #32770

WinWait, %winTitle1%, Removes the program, 20
ControlClick, Button1 ; &Uninstall

WinWait, %winTitle2%, Uninstall Program, 20
ControlClick, Button4 ; Remove configuration files
ControlClick, Button5 ; Uninstall

WinWait, %winTitle3%, Warning: This will, 20
ControlClick, Button1 ; Yes

WinWait, %winTitle3%, The following, 20
ControlClick, Button1 ; OK

WinWait, %winTitle3%, Program removed, 20
ControlClick, Button1 ; OK

$packageName = 'totalcommander'
$packageSearch = "Total Commander*"
$installerType = 'exe'
$silentArgs = ''
$validExitCodes = @(0)

$scriptPath = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
$ahkFile = Join-Path $scriptPath "chocolateyUninstall.ahk"
$ahkExe = 'AutoHotKey'
$ahkRun = "$Env:Temp\$(Get-Random).ahk"
Copy-Item $ahkFile "$ahkRun" -Force

Start-Process $ahkExe $ahkRun
Get-ItemProperty -Path @('HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*',
                         'HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*') `
                 -ErrorAction:SilentlyContinue `
| Where-Object   {$_.DisplayName -like $packageSearch} `
| ForEach-Object {Uninstall-ChocolateyPackage -PackageName "$packageName" `
                                              -FileType "$installerType" `
                                              -SilentArgs "$($silentArgs)" `
                                              -File "$($_.UninstallString.Replace('"',''))" `
                                              -ValidExitCodes $validExitCodes}
Remove-Item "$ahkRun" -Force
function Get-TCInstallArgs() {
    $s = '/AHUG'
    $s += if ($pp.DesktopIcon) { 'D' } else { '' }
    $s += " "
    $s += if ($pp.InstallPath) { $pp.InstallPath } else { '%ProgramFiles%\totalcmd' }

function Set-TCShellExtension() {
    Write-Host "Setting shell extension"

    New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT -ea 0 | Out-Null
    #sp HKCR:\Directory\shell -name "(Default)" -Value "Total_Commander"
    mkdir HKCR:\Directory\shell\Total_Commander\command -force | Out-Null
    Set-ItemProperty HKCR:\Directory\shell\Total_Commander -name "(Default)" -Value "Total Commander"
    Set-ItemProperty HKCR:\Directory\shell\Total_Commander\command  -name "(Default)" -Value "$installLocation\$tcExeName /O ""%1"""

function Set-ExplorerAsDefaultFM() {
    Write-Host "Setting Explorer as default file manager"

    New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT -ea 0 | Out-Null
    'HKCR:\Directory', 'HKCR:\Drive' | ForEach-Object {
        $key = Get-Item $_
        $key = $key.OpenSubKey('shell', 'ReadWriteSubTree')

function Set-TCAsDefaultFM() {
    Write-Host "Setting Total Commander as default file manager"

    New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT -ea 0 | Out-Null

    Set-ItemProperty HKCR:\Drive\shell -name "(Default)" -Value "open"
    mkdir HKCR:\Drive\shell\open\command -force | Out-Null
    Set-ItemProperty HKCR:\Drive\shell\open\command  -name "(Default)" -Value "$installLocation\$tcExeName /O ""%1"""

    Set-ItemProperty HKCR:\Directory\shell -name "(Default)" -Value "open"
    mkdir HKCR:\Directory\shell\open\command -force | Out-Null
    Set-ItemProperty HKCR:\Directory\shell\open\command  -name "(Default)" -Value "$installLocation\$tcExeName /O ""%1"""

function Get-TCInstallLocation() {
    if ($Env:COMMANDER_PATH) { return $Env:COMMANDER_PATH }

    $key = Get-ItemProperty 'HKLM:\SOFTWARE\Ghisler\Total Commander' -ea 0
    if ($key) { return $key.InstallDir }

    $installLocation = Get-AppInstallLocation totalcmd
    if ($installLocation) { return $installLocation }

    if (Test-Path c:\totalcmd) { return "c:\totalcmd" }

function Set-TCIniFilesLocation() {
    Set-ItemProperty 'HKCU:\SOFTWARE\Ghisler\Total Commander' IniFileName '%COMMANDER_PATH%\wincmd.ini'
    Set-ItemProperty 'HKCU:\SOFTWARE\Ghisler\Total Commander' FtpIniName  '%COMMANDER_PATH%\wcx_ftp.ini'
md5: DACA3E2AE83FB32C74F308903F083A85 | sha1: CC5E69373C4AC35813C437CAF0CBC86A66CD040E | sha256: 80DE9C2C49FC63965CF0E9BCB1A0E6D25187A1613BDE2086BDA79EFBDC8FCEB8 | sha512: B4B0E630899EEB56538ABFA54738F1653DB68121EB6DA97B0F6612E7398AC1F50A1007B85DCE10876CFA4058526671659EF12D970FAFE126F2703D5CFDC0161D
md5: C75353937D3452D1304748A7EBC7559B | sha1: 3BDD4B1D10AE2F6DD97A1B31ECFCD5500DDC3631 | sha256: 1B65031E4D19073E997B6AF5C6369BC06A52FF40A561C75DC2C6D22738327A3E | sha512: 51690675A019C346DE79D760A63E5DCA15EE2419C46E3F02A40ED1B21419AFEED71D71D543F849B39B81A6CBFF8E88D1CAB76819C4295D4341CBA27C97558E54

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Add to Builder Version Downloads Last Updated Status
Total Commander 9.51 74295 Thursday, March 26, 2020 Approved
Total Commander 9.50 8986 Tuesday, February 18, 2020 Approved
Total Commander 9.22.1 38885 Friday, March 29, 2019 Approved
Total Commander 9.22 3532 Thursday, March 14, 2019 Approved
Total Commander 9.21.1 15662 Tuesday, October 16, 2018 Approved
Total Commander 9.21 7734 Wednesday, August 15, 2018 Approved
Total Commander 9.20 5181 Wednesday, July 4, 2018 Approved
Total Commander 4676 Monday, May 28, 2018 Approved
Discussion for the Total Commander Package

Ground Rules:

  • This discussion is only about Total Commander and the Total Commander package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or Total Commander, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus