04.03.2021, Vladimír Klaus, navštíveno 2761x

Systém
Windows

Jak jistě víte, v Total Commanderu existují příkazy na kopírování názvu aktuálního souboru do schránky, a to buď jen názvu nebo i s celou cestou. A funguje to jak pro aktuální soubor nebo pro všechny vybrané.

Jak v Total Commanderu přidat vlastní příkaz na kopírování názvu složky aktuálního souboru, obr. 1

Příkazy najdete v menu Výběr a můžete si je přidat i do Start menu, což si ukážeme dále.

Jak v Total Commanderu přidat vlastní příkaz na kopírování názvu složky aktuálního souboru, obr. 2

Pokud ale budete chtít zkopírovat pouze cestu k aktuálnímu souboru, tak to už v menu nenajdete. Takový příkaz musíte přidat do Start menu nebo třeba do tlačítkové lišty. Začněte tedy Start > Změna nabídky Start...

Jak v Total Commanderu přidat vlastní příkaz na kopírování názvu složky aktuálního souboru, obr. 3

Zvolíte Přidat položku a zadáte nějaký název.

Jak v Total Commanderu přidat vlastní příkaz na kopírování názvu složky aktuálního souboru, obr. 4

Poté klikněte vedle řádky Příkaz na "lupu". Objeví se okno, ve kterém vidíte všechny interní příkazy, proto dole do okénka Filtr zadejte "cm_copy". Poté vyberte příkaz odpovídající "Kopírovat do schránky zdrojovou cestu" (zdrojová cesta se bere z aktuálního souboru v TC).

Jak v Total Commanderu přidat vlastní příkaz na kopírování názvu složky aktuálního souboru, obr. 5

Vybraný příkaz se objeví v editační řádce, případně můžete ještě přiřadit klávesovou zkratku a vše potvrdit.

Jak v Total Commanderu přidat vlastní příkaz na kopírování názvu složky aktuálního souboru, obr. 6

Jenomže, když tento příkaz vyzkoušíte, tak možná budete nemile překvapeni - navzdory konvencím, neobsahuje získaná cesta koncové lomítko (kromě případu, kdy jde o root disku). Pro někoho detail, pro mě obtěžující nedokonalost. A nejen pro mě, jak se ukázalo při hledání řešení tohoto problémku.

Nouzové řešení spočívá v tom, že přejdete na položku ".." a tam použijete již zmiňovaný příkaz "Zkopírovat názvy včetně cest do schránky" nebo se pustíte do tvorby vlastního příkazu, a tím se i něco naučíte 😉.

Tvorba vlastního příkazu

Pro zadání vlastního příkazu budete potřebovat usercmd.ini. Jenže kde takový soubor je? Většinou nikde... musí se nejprve vytvořit.

Začneme ale stejně jako při přidávání standardních příkazů, Start > Změna nabídky Start... > Přidat položku.

Jak v Total Commanderu přidat vlastní příkaz na kopírování názvu složky aktuálního souboru, obr. 7

Opět klikněte na "lupu" vedle řádky "Příkaz" a v levém panelu odrolujte až úplně dolů. Zde zvolte "usercmd.ini".

Jak v Total Commanderu přidat vlastní příkaz na kopírování názvu složky aktuálního souboru, obr. 8

Zde zvolte "Nový" a zadejte interní název vašeho příkazu (zde vycházím z níže uvedených zdrojů, abyste si případně mohli dohledat další informace).

Jak v Total Commanderu přidat vlastní příkaz na kopírování názvu složky aktuálního souboru, obr. 9

Po potvrzení budete muset zadat nějaký skutečný příkaz/program a jeho parametry. Vyplňte je takto:

  • Příkaz: CMD /c
  • Parametry: chcp 65001 & echo|set/p="%P"|clip

Jak v Total Commanderu přidat vlastní příkaz na kopírování názvu složky aktuálního souboru, obr. 10

A co že jste to vlastně zadali? Příkaz CMD /c způsobí že se zavolá daný příkaz a okno se ukončí.

Parametry pak nastavují práci v UTF-8 (kódová stránka 65001), pomocí echo nechám vypsat/přiřadit aktuální cestu (%P) a tu následně pošlu do schránky pomocí "|clip". Ano, pokud se někde v TC odkazujete na %P, tak je to aktuální cesta a obsahuje i lomítko. Proč výše uvedený příkaz toto nerespektuje, ví asi jen autor...

Nyní už jen zbývá přiřadit klávesovou zkratku, případně příkazy v menu přeuspořádat.

Jak v Total Commanderu přidat vlastní příkaz na kopírování názvu složky aktuálního souboru, obr. 11

A ještě - kde, že se ten soubor usercmd.ini vytvořil?

c:\Users\{USERNAME}\AppData\Roaming\GHISLER\usercmd.ini

Pokud máte TC nainstalován klasicky, tak ve stejné složce najdete i všechny další důležité soubory, které je dobré čas od času zálohovat.

  • default.bar
  • vertical.bar
  • default.br2
  • vertical.br2
  • fileinfo.ini
  • usercmd.ini
  • wcx_ftp.ini
  • wincmd.ini
  • WINCMD.KEY

Obsah onoho souboru je krásně čitelný, takže ho můžete upravovat přímo... což se velmi hodí. Je dobré přidat "iconic=1", aby při spuštění příkazu neprobliklo DOSovské okno.

[em_CopySrcPathWithBSToClip]
button=
cmd=CMD /c
param=chcp 65001 & echo|set /p="%P"|clip
iconic=1

Zbývá asi jen podotknout, že pokud v TC zvolíte Konfigurace > Přímá úprava konfiguračních souborů..., tak usercmd.ini se nezobrazí. 🤨

Zdroje: