Interne Verknüpfungen

German support forum

Moderators: white, Hacker, Stefan2

Franz Müller
Senior Member
Senior Member
Posts: 383
Joined: 2005-05-24, 10:41 UTC
Location: Wien

Interne Verknüpfungen

Post by *Franz Müller »

Ich würde gerne eine interne Verknüpfung erstellen, bei der nur der Name des Programms ohne Erweiterung und ohne Pfad an das verknüpfte Programm als Parameter übergeben wird. %1 übergibt anscheinend den kompletten Namen mit Pfad und Erweiterung. Unter F1 habe ich leider nichts gefunden, die Hilfe zu dem Punkt gehört übrigens DRINGEND aktualisiert:

Code: Select all

 Verknüpfen mit:
Hier wählen Sie das Programm, mit dem die Erweiterung verknüpft werden soll. Unter Windows 3.1 können Sie aus einer Anzahl vordefinierter Dateitypen auswählen, die in der unter dem Eingabefeld liegenden Liste angeboten werden
Ich glaube, den Hinweis auf dieses mittlerweile historische Betriebssystem könnte man ruhigen Gewissens entfernen :)
User avatar
karlchen
Power Member
Power Member
Posts: 4601
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Hallo, Franz.

Leider habe auch ich in der Hilfe nicht feststellen können, dass andere Platzhalter als %1 oder %2 möglich sind.

Die Bemerkung zur Hilfe von "Verknüpfen ..." ist zwar berechtigt. Allerdings ist das auch nicht die Hilfe zu "Interne Verknüpfungen (nur Total Commander) ...".
"Verknüpfen ..." führt zum Hilfetext auf systemweite Verknüpfungen.

Hilfe => Index => 3. Bedienung => c. Menüs => Dateien => Interne Verknüpfungen (nur Total Commander) ....

Grüße,
Karl
Franz Müller
Senior Member
Senior Member
Posts: 383
Joined: 2005-05-24, 10:41 UTC
Location: Wien

Post by *Franz Müller »

Tatsächlich - Ich hatte bis jetzt gar nicht mitbekommen, dass man im TC auch systemweite Verknüpfungen definieren kann, und den Eintrag "Interne Verknüpfungen" deshalb übersehen.

Es wäre schön, wenn die internen Verknüpfungen ähnliche Features bieten würden wie das Startermenu, aber nach näherem Hinsehen fürchte ich, das dürfte im Moment ganz einfach nicht gehen.
JOUBE
Power Member
Power Member
Posts: 1448
Joined: 2004-07-08, 08:58 UTC

Post by *JOUBE »

Franz Müller wrote:interne Verknüpfungen..
"Interne Verknüpfungen" sind eindeutig eines der grandiosesten Features des Tc.

Damit kann man (als ein Beispiel) auf fremden Rechnern vom USB-Stick aus in Verbindung mit portablen Applikationen einfach durch den Aufruf des Tc die komplett eigene Arbeitsumgebung mit allen gewünschten Verknüpfungen herstellen. Und dies ohne jeglichen Eingriff in die Registry des Gastrechners: Grossartig!

Wenn man die [Associations]-Sektion der wincmd.ini mittels

'RedirectSection=%COMMANDER_PATH%\wincmda.ini'

in eine eigene, nur die [Associations]-Sektion enthaltende Datei auslagert, kann man sich (als ein zweites Beispiel) für verschiedene Zwecke verschiedene Sätze von "internen Verknüpfungen" anlegen. Zum Beispiel für die Arbeit mit verschiedenen Entwicklungumgebungen oder für das einfache Umkonfigurieren des Rechners zum standardmässigen Abspielen von Medien mit verschiedenen Playern usw. Dazu legt man sich einfach mehrere wincmdaXXX.ini dateinen an, die man ganz nach Bedarf jeweils auf die wincmda.ini kopiert. Ein einfacher Neustart des Tc stellt dann eine völlig andere Verknüpfungssituation her: Grossartig!

Die einzelnen Einträge in der [Associations]-Sektion, also die einzelnen "internen Verknüpfungen" sind in der Textdatei einfach gehalten, so dass das Editieren/Hinzufügen/Löschen von Einträgen in der Sektion mit jedem Editor erfolgen kann (und es auch nahezu jeder verstehen und handlen kann). Jeder Eintrag besteht aus wenigstens zwei Zeilen (die Flternummern werden einfach aufsteigend an das Wort "Filter" angehängt): Grossartig!

Filter1=*.txt
Filter1_open=""%windir%\notepad.exe" "%1""

Will man nun mit "%1" etwas besonderes "anstellen", etwa Pfad und Dateinamen trennen oä., dann verweist man mit der Verknüpfung statt auf die Applikation selbst einfach auf einen Link oder einen Batch, der vor dem Aufruf der eigentlichen Applikation diese Schritte übernimmt. Damit ist dann alles machbar. Das Verknüpfungs-Icon holt man sich dabei dann mit der Angabe von

Filter1.icon=notepad.exe,-1

einfach trotzdem weiterhin aus der eigentlichen Applikation heraus: Grossartig!

JOUBE

Ps.: Beim Editieren dieses Posting fühle ich mich etwa so wie Dr. Murke in Bölls "gesammeltem Schweigen", weil ich, wie er dort "Gott" durch "jenes höhere Wesen, das wir verehren", "Genial" durch "Grossartig" ersetzte. Wir wollen ja nicht übertreiben...
User avatar
Lefteous
Power Member
Power Member
Posts: 9535
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

Ich bin auch sehr zufrieden mit dieser Funktion ;-) Kann gelöscht werden:
http://ghisler.ch/wiki/index.php/Open_files_by_filetype
Franz Müller
Senior Member
Senior Member
Posts: 383
Joined: 2005-05-24, 10:41 UTC
Location: Wien

Post by *Franz Müller »

Leider ist mir nach wie vor nicht klar, wie ich ohne gröberen Aufwand aus dem kompletten Dateinamen den Namen ohne Pfad und Extension herauslösen kann.

Konkrete Aufgabe:
Dateiname z.B. c:\xyz\test.sdc
Ein Doppelklick auf diese Datei sollte den Programmaufruf
f:\util\sdc.exe test
mit Startpfad c:\xyz
generieren.
algol
Senior Member
Senior Member
Posts: 448
Joined: 2007-07-31, 14:45 UTC

Post by *algol »

Franz Müller wrote:Konkrete Aufgabe:
Dateiname z.B. c:\xyz\test.sdc
Ein Doppelklick auf diese Datei sollte den Programmaufruf
f:\util\sdc.exe test
mit Startpfad c:\xyz
generieren.
Button erzeugen für "sdc.exe" und mit Parametern %O sowie %P Dateinamen (ohne ext) bzw. Startpfad der Datei unter dem Cursor übergeben? (Statt Doppelklick dann Klick auf Button bzw. Shortcut definieren.)

Was passiert, wenn, wie bei einer normalen Verknüpfung, der komplette Dateiname übergeben wird?

HTH
algol
Franz Müller
Senior Member
Senior Member
Posts: 383
Joined: 2005-05-24, 10:41 UTC
Location: Wien

Post by *Franz Müller »

Dass das mit einem Button geht, ist schon klar. Aber ich mag mir nicht den TC mit einer Unmenge Buttons überfrachten. Deshalb habe ich gehofft, dass das irgendwie mit einer internen Verknüpfungen zu machen ist.
algol
Senior Member
Senior Member
Posts: 448
Joined: 2007-07-31, 14:45 UTC

Post by *algol »

Hab ich noch nie probiert, aber vielleicht liesse sich ein dem Button entsprechender Startmenü-Eintrag auch irgendwie über die Kommandozeile aufrufen? Falls ja, könntest Du diesen Befehl dann natürlich auch in die Verknüpfung aufnehmen. Falls..!

Wieso stört es eigentlich, ganz normal mit %1 den gesamten Dateinamen an das verknüpfte Programm zu übergeben?

mfg
algol
Franz Müller
Senior Member
Senior Member
Posts: 383
Joined: 2005-05-24, 10:41 UTC
Location: Wien

Post by *Franz Müller »

algol wrote:Wieso stört es eigentlich, ganz normal mit %1 den gesamten Dateinamen an das verknüpfte Programm zu übergeben?
Mir wäre es gleich, aber das Programm mag das nicht.
vielleicht liesse sich ein dem Button entsprechender Startmenü-Eintrag auch irgendwie über die Kommandozeile aufrufen
Versteh ich leider nicht, wie Du das meinst. Wenn beim Doppelklick auf den Filenamen der volle Dateiname mit Pfad übergeben wird, werde ich den ja dann auch nicht los.
algol
Senior Member
Senior Member
Posts: 448
Joined: 2007-07-31, 14:45 UTC

Post by *algol »

War nur so ein Gedanke. Wenn sich ein Startmenüeintrag mit %O und %P über die Kommandozeile aufrufen liesse, ich betone: wenn..., dann könntest Du bei der Verknüpfung deklarieren, dass bei Doppelklick auf Dateien mit der entsprechenden Endung eben nur dieses Kommando (ohne Übergabe von %1) ausgeführt wird.

Du würdest also den Button/Menüeintrag durch Doppelklick auf die Datei (mit der betreffenden Endung) starten können. Ist aber, wie gesagt, nur ein hypothetischer Ansatz.

mfg
algol
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Mal sehen, das sollte sich eigentlich via interne Verknüpfungen einbauen lassen (Umweg über em_xyz-Befehl).
Author of Total Commander
https://www.ghisler.com
J.Bl
Member
Member
Posts: 116
Joined: 2005-01-23, 16:29 UTC

Post by *J.Bl »

ghisler(Author) wrote:Mal sehen, das sollte sich eigentlich via interne Verknüpfungen einbauen lassen (Umweg über em_xyz-Befehl).
Solange da noch nichts verfügbar ist, hilft vielleicht das unter dem folgenden Link bereitstehende Programm weiter, das als Hilfsprogramm die Arbeit des Zerlegens von '%1' (daher der Name: 'SplitP1') bei den internen Verknüpfungen erledigt:

http://www.bleichroth.info/pub/wdx/SplitP1.html

Prosit 1)

J.Bl

1) Es möge nützen...

... was im Beispiel (Franz Müller: "Konkrete Aufgabe...") bedeutet:
1. SplitP1.exe ins Tc Verzeichnis
2. SplitP1-Ext.cmd im Tc Verzeichnis erstellen mit folgendem Inhalt (nur eine Zeile):
start f:\util\sdc.exe %2
3. Einfügen der folgenden beiden Zeilen in die wincmd.ini (Section: [Associations] , Ziffer 'Filter1...' ggf bitte in beiden Zeilen anpassen):
Filter1=*.sdc
Filter1_open=""%COMMANDER_PATH%\SplitP1.exe" "%1" "%COMMANDER_PATH%\SplitP1-Ext.cmd""
4. Tc Restart
(Hinweis: In SplitP1-Ext.cmd kann eine Fallunterscheidung mehrere Extensionen mit if "%7"=="SDC" ... erfolgen, so dass mehrere interne Verknüpfungen auf die gleiche SplitP1-Ext.cmd verweisen können. %7 = Extension in Grossbuchstaben. Ab Version 0.02)
Franz Müller
Senior Member
Senior Member
Posts: 383
Joined: 2005-05-24, 10:41 UTC
Location: Wien

Post by *Franz Müller »

Danke, das funktioniert.

An der Stelle einmal ein Dank an die ganze TC Usergemeinde. Der TC ist an sich schon ein sehr gutes Programm, aber mit dem Support hier im Forum und mit den zahlreichen Plugins ist er für mich absolut unentbehrlich geworden.
J.Bl
Member
Member
Posts: 116
Joined: 2005-01-23, 16:29 UTC

Post by *J.Bl »

Franz Müller wrote:Danke, das funktioniert.
Schön.

Das Icon für diese interne Verknüpfung holt man sich sinnvollerweise 1) aus dem Programm (Filter1... Ziffer ggf anpassen):
Filter1.icon=f:\util\sdc.exe

Zu beachten ist noch, dass das Programm start.exe (Teil des Windows Betriebssystems), das im Beispiel im Batch SplitP1-Ext.cmd verwendet wird, einen ersten Parameter, der mit " umgeben ist, als Fenstertitel interpretiert 2). Deshalb kann es Unstimmigkeiten geben, wenn der Pfadname des aufzurufenden Programms Leerzeichen enthält und man ihn mit " umgibt. Es ist darum besser, grundsätzlich im Batch die folgende Zeile zu verwenden:
start "" f:\util\sdc.exe %2
Dann hat man nämlich die Freiheit, nach dem Titelelement "" beliebig weitere " zu benutzen, zum Beispiel um einen Programmpfadnamen mit " zu umgeben.

J.Bl

1) Das Icon in SplitP1.exe ist bewusst unscheinbar und neutral gehalten.
2) Eine böse Falle, in die ich im jährlichen Abstand hineintappe...
Post Reply