NiftyLink – Vielseitige Links für Explorer und Total Commander
Version 1.10
Freeware
© Jürgen Lüthje 2012
Inhalt
Beschreibung
Installation im Total Commander
Erzeugen von NiftyLinks
Ausführen von NiftyLinks
Einstellungen in der INI-Datei
Übersetzung
Dank
Lizenz
Kontakt
Beschreibung
NiftyLink ist ein 32-Bit-Programm
für Windows 2000/XP/Vista/7, das sich in den Windows Explorer integrieren
lässt, und das als portables Add-on für den
Total Commander (Version 7.50+) zusätzliche Funktionen zur Verfügung
stellt. Es dient zum Erzeugen und Ausführen von speziellen Links auf
Verzeichnisse, Dateien und Internetadressen.
Diese Links bieten Möglichkeiten, die bei Standard-Windows-Links (LNK-Datei,
Junction, Symbolischer Link oder Harter Link) nicht vorhanden sind.
Allgemeines
-
NiftyLinks auf Verzeichnisse und Dateien können absolute oder
relative Pfade enthalten. Relative Links sind portabel
und funktionieren auch auf USB-Laufwerken und z.B. innerhalb einer Dropbox.
-
Absolute Pfade können statt Laufwerksbuchstaben auch Namen
von Laufwerken enthalten. Das ist besonders nützlich für USB-Laufwerke, weil
deren Laufwerksbuchstaben sich ändern können.
-
NiftyLinks können Umgebungsvariablen und Pseudo-Umgebungsvariablen
(wie im Total Commander) enthalten. Das Programm stellt selbst die
beiden Umgebungsvariablen %nifty_drive%
und %nifty_path% zur Verfügung.
-
NiftyLinks können selbstdefinierte Abkürzungen enthalten.
-
NiftyLinks auf bestimmte Dokumente können direkt auf eine bestimmte
"Seite" verweisen. Der Begriff "Seite"
ist dabei nicht wörtlich zu nehmen: Es kann sich auch z.B. um eine Folie
einer Präsentation oder einen Datensatz einer Datenbank handeln.
Die einzigen Voraussetzungen sind, dass in dem zugehörigen Programm eine
Funktion dafür vorhanden ist, und dass in der INI-Datei
die passenden simulierten Tastatureingaben festgelegt sind.
Wenn etwa ein ganzes Buch als PDF-Datei vorliegt (was heutzutage nicht
selten ist), so können z.B. Links auf einzelne Kapitel oder als
Lesezeichen angelegt werden. Das funktioniert auch mit geschützten
PDF-Dateien.
-
Wenn beim Doppelklick auf einen NiftyLink die [Umsch]-Taste gedrückt wird,
dann wird nicht die Zieldatei bzw. das Zielverzeichnis geöffnet,
sondern das Elternverzeichnis (im Total Commander im aktuellen Tab), und
darin wird das Ziel ausgewählt. Man kann das Ziel dann
umbenennen, kopieren, löschen usw.
(Bei einem NiftyLink auf eine Internetadresse geht das natürlich nicht.)
-
NiftyLinks sind kleine Dateien, die aus Klartext bestehen.
-
NiftyLinks funktionieren mit jedem Dateisystem (FAT, NTFS), das von
Windows unterstützt wird.
Zusätzliche Funktionen im Total Commander
-
Erweiterter Dialog zum Erzeugen von NiftyLinks.
-
NiftyLinks auf Verzeichnisse und Archive können diese im aktuellen Tab
oder in einem neuen Tab öffnen – im aktuellen oder im anderen
Panel des Total Commanders.
-
NiftyLinks berücksichtigen installierte Packer und
interne Verknüpfungen im Total Commander.
-
NiftyLinks können auf Verzeichnisse zeigen, die von Dateisystem-Plugins
bereitgestellt werden.
-
Mit dem Content-Plugin "Text Line" kann man sich den Inhalt
von NiftyLinks als Tooltip anzeigen lassen.
Installation im Total Commander
a) Zum Erzeugen von NiftyLinks
Erzeugen Sie einen Eintrag wie den folgenden in Total Commanders
Buttonbar oder Startermenü (die Dateipfade müssen angepasst werden).
Kommando : %commander_path%\..\NiftyLink\NiftyLink.exe
Parameter: %P%N
Startpfad:
Icondatei: %commander_path%\..\NiftyLink\NiftyLink.exe
Tooltip : NiftyLink im Zielverzeichnis erzeugen
b) Zum Ausführen von NiftyLinks
Erzeugen Sie je eine interne Verknüpfung im Total Commander mit dem Programm
NiftyLink.exe für die Dateitypen
*._x (NiftyLink auf ein Verzeichnis) und
*.fx (NiftyLink auf eine Datei). Verknüpfen Sie
beide Dateitypen mit folgendem Befehl zum Öffen (Pfad anpassen):
"%commander_path%\..\NiftyLink\NiftyLink.exe" /e "%1"
Der Vorteil für jeden der beiden Dateitypen eine eigene Verknüpfung anzulegen
besteht darin, dass ihnen so unterschiedliche Icons zugeordnet werden
können. Das Programm NiftyLink.exe enthält Icons
für diesen Zweck.
c) Zum Anzeigen des Inhalts als Tooltip (wenn gewünscht)
Leider werden Sonderzeichen wie z.B. die deutschen Umlaute
nicht richtig dargestellt.
-
Laden Sie das Content-Plugin
"Text Line"
herunter, und installieren Sie es, indem Sie innerhalb des Total
Commanders auf die ZIP-Datei doppelklicken.
-
Wechseln Sie in das Unterverzeichnis des Total Commanders, in welches das
"Text Line"-Plugin installiert wurde. Öffnen Sie die Datei
"TextLine.ini" mit einem Editor und ergänzen Sie im Abschnitt
[Options] die Liste der Dateierweiterungen
um _x fx
-
Wählen Sie im Hauptmenü des Total Commanders
Konfigurieren > Einstellungen > Ansicht >
Benutzerdefiniert (die [+] Schaltfläche unten rechts).
-
Klicken Sie auf [Hinzufügen..], tragen Sie
als Dateiart *._x; *.fx ein,
und klicken Sie dann auf [OK].
-
Geben Sie im nächsten Dialogfenster als Feld(er)
[=textline.2] an, um des Linkziel anzeigen zu lassen, oder z.B.
[=textline.2]\n[=textline.3]\n[=textline.4],
um auch evtl. vorhandene Seitenangaben und Kommentare zu sehen.
-
Schließen Sie alle geöffneten Dialogfenster mit [OK].
Erzeugen von NiftyLinks
Allgemeines
-
Um einen NiftyLink zu erzeugen, ziehen Sie das Ziel (Verzeichnis oder Datei)
mit der Maus auf das Programm NiftyLink.exe,
auf eine normale Verknüpfung zu dem Programm oder auf dessen Eintrag in
Total Commanders Buttonbar, und lassen es dort "fallen". Im Total
Commander reicht es auch, wenn sich der Cursor auf dem Ziel befindet, einfach
den Programmeintrag in der Buttonbar oder im Startermenü anzuklicken. Es
erscheint dann ein Dialog zum Erzeugen des NiftyLinks, der für die Benutzung
ohne Total Commander einfach gehalten ist.
-
Wenn die NiftyLink-Datei auf dem selben Laufwerk erzeugt werden soll auf
dem sich das Linkziel befindet, dann kann der NiftyLink statt eines
absoluten Pfades auch den Pfad relativ zu dem Verzeichnis enthalten,
in dem sich die NiftyLink-Datei befindet.
-
In einem absoluten Pfad kann statt des Laufwerksbuchstabens auch dessen
Name verwendet werden (sofern vorhanden). Das kann bei USB-Laufwerken
sehr nützlich sein, denn i. Ggs. zum Laufwerksbuchstaben kann sich der
Laufwerksname nicht willkürlich ändern. Der erzeugte Link kann z.B. so
aussehen:
Target="{Victorinox}:\Dokumente und Einstellungen\John\Eigene Dateien\"
-
Die Angabe eines Kommentars und ggf. einer Seite sind optional.
-
NiftyLinks sind Klartext-Dateien (UTF-8 mit BOM), sie lassen sich mit jedem
Editor bearbeiten.
-
Für das Erzeugen von NiftyLinks ins Internet gibt es keinen Dialog, sie
müssen z.Z. in einem Editor geschrieben werden. Die URLs müssen mit
http beginnen. Sie können auch codierte Zeichen
enthalten, z.B.
Target=http://luethje.eu/prog/fine%20freeware.htm
NiftyLinks ins Internet können nicht intern im Total Commander verknüpft werden.
Sie können allerdings den Pfad zu dem Programm enthalten, mit dem sie geöffnet
werden sollen, z.B.
Target=%nifty_drive%\GoogleChromePortable\GoogleChromePortable.exe http://de.wikipedia.org/
(Pseudo-)Umgebungsvariablen und Abkürzungen
-
NiftyLinks können Pseudo-Umgebungsvariablen enthalten (wie beim Total Commander).
Diese bieten eine systemunabhängige Möglichkeit um bestimmte häufig
benutzte Verzeichnisse zu benennen, die nicht unbedingt auf jedem
System den selben Namen haben oder sich am selben Ort befinden. Die Namen
müssen komplett groß geschrieben werden:
Name | Typischer Pfad |
%$DESKTOP% |
C:\Dokumente und Einstellungen\Benutzername\Desktop |
%$PERSONAL% |
C:\Dokumente und Einstellungen\Benutzername\Eigene Dateien |
%$APPDATA% |
C:\Dokumente und Einstellungen\Benutzername\Anwendungsdaten |
-
Dieses Programm erzeugt zwei Umgebungsvariablen:
-
%nifty_drive% enthält den Buchstaben des Laufwerks,
auf dem sich die Datei NiftyLink.exe befindet
(ohne abschließenden Backslash), z.B. F:
-
%nifty_path% enthält das Verzeichnis, in
dem sich die Datei NiftyLink.exe befindet
(ohne abschließenden Backslash).
-
NiftyLinks können auch beliebige andere Umgebungsvariablen enthalten, wie
sie im Betriebssystem oder z.B. im Total Commander definiert sind.
-
Abkürzungen die in der INI-Datei definiert sind,
können in NiftyLinks benutzt werden, z.B.:
Target=rfc:2822
Pseudo-Umgebungsvariablen und selbst definierte Abkürzungen
können nur in NiftyLinks benutzt werden. Umgebungsvariablen werden auch
an den Prozess weitergegeben, der von einem NiftyLink aufgerufen wird.
Zusätzliche Funktionen im Total Commander
Der Dialog bietet unterschiedliche Optionen zum Öffnen des
Linkziels, je nachdem ob dieses ein Verzeichnis, ein Archiv oder eine normale
Datei ist.
-
automatisch
ist immer verfügbar. Verzeichnisse und Archive werden im TC geöffnet,
dabei wird für ein Archiv nach einem passenden Packer gesucht. Für
eine normale Datei wird nach einem passenden Befehl gesucht, mit dem
sie geöffnet werden kann (Einzelheiten s.u.).
Der erzeugte Link kann z.B. so aussehen:
Target="..\..\Eigene Dateien\".
Durch Auswahl der betr. Checkbox(en) um ein Verzeichnis oder Archiv in
einem neuen Tab und/oder im anderen Panel zu öffnen wird
<newtab>, <other> oder
<newtabother> eingefügt, z.B.:
Target=<other> "..\..\Eigene Dateien\".
-
als Archiv im TC
ist für Archive gedacht, die von NiftyLink
nicht automatisch als solche behandelt werden (Archive, die im TC mit
[Strg]+[PgDown] geöffnet werden können). Welche Archive das genau sind
hängt auch davon ab, welche Packer-Plugins installiert sind. Der erzeugte
Link kann z.B. so aussehen:
Target=<archive> "..\..\Eigene Dateien\info.odt".
Statt <archive> kann auch
<newtab>, <other>
oder <newtabother> benutzt werden.
-
mit diesem intern im TC verknüpften Befehl
steht für Verzeichnisse, Archive und normale Dateien zur Verfügung,
für die es eine passende interne
Verknüpfung im TC gibt. Mit Hilfe der Combobox kann bei mehreren
verknüpften Befehlen der gewünschte ausgewählt werden. Der erzeugte
Link kann z.B. so aussehen:
Target=<TC_open> "..\..\Eigene Dateien\info.odt".
-
mit dem im System verknüpften Befehl
ist außer für EXE-, CMD-, BAT- und COM-Dateien immer verfügbar. Verzeichnisse
werden im Windows-Explorer geöffnet – ebenso Archive, sofern der Explorer mit
ihnen umgehen kann. Womit normale Dateien geöffnet werden hängt von den installierten
Programmen ab. Der erzeugte Link kann z.B. so aussehen:
Target=<system> "..\..\Eigene Dateien\info.odt".
-
mit diesem Programm
ist immer verfügbar. Das Linkziel wird mit dem gewählten Programm geöffnet.
Der erzeugte Link kann z.B. so aussehen:
Target=C:\Programme\Demo\Beispiel.exe "..\..\Eigene Dateien\info.odt".
Ausführen von NiftyLinks
Allgemeines
Um einem NiftyLink auszuführen, wählen Sie ihn aus und drücken Sie [Enter]
oder doppelklicken Sie auf ihn. Wenn dabei die [Esc]-Taste gedrückt wird,
dann bleibt der Eingabefokus immer im aktuellen Tab des Total Commanders
(bzw. im aktuellen Explorer-Fenster), auch wenn der betr. NiftyLink ein
Verzeichnis oder Archiv in einem anderen Tab (bzw. in einem anderen Fenster)
öffnet.
Wenn beim Ausführen eines NiftyLinks die [Umsch]-Taste gedrückt wird,
dann wird nicht die Zieldatei bzw. das Zielverzeichnis geöffnet,
sondern das Elternverzeichnis (im TC immer im aktuellen Tab), und darin
das Ziel ausgewählt.
Ausführen ohne Total Commander
NiftyLinks können spezielle <Befehle in spitzen
Klammern> für die Ausführung im Total Commander enthalten.
Ohne Total Commander werden die Befehle
<archive>, <newtab>,
<other>, <newtabother>
und <system> einfach ignoriert. Befehle die
mit <TC_ beginnen, verursachen eine Fehlermeldung
wenn sie ohne Total Commander ausgeführt werden.
Ausführen im Total Commander
In bestimmten Situationen durchsucht NiftyLink
die aktuell verwendete Datei "wincmd.ini" nach einem passenden
Befehl zum Öffnen des Linkziels (auch wenn die betreffenden Abschnitte von
"wincmd.ini" in andere Dateien umgeleitet wurden).
-
Wenn beim Erzeugen des NiftyLinks "automatisch" gewählt wurde,
dann wird ein Verzeichnis immer im Total Commander geöffnet. Für
eine Datei wird in folgender Reihenfolge nach einem passenden
Befehl gesucht:
-
Die höchste Priorität hat die Suche nach einem passenden Packer (s.u.).
-
Die zweite Priorität hat die Suche nach einer passenden internen
Verknüpfung (s.u.).
-
Die niedrigste Priorität hat das Programm, mit dem die Datei im
Betriebssystem verknüpft ist.
-
Wenn im Linkziel vor einer Datei
<archive>, <newtab>,
<other> oder <newtabother>
steht, dann wird nach einem passenden Packer gesucht. Zunächst wird im
Abschnitt [Packer] gesucht, dann im Abschnitt
[PackerPlugins].
-
Wenn das Linkziel mit <TC_...> beginnt, dann wird im Abschnitt
[Associations] nach einer passenden internen
Verknüpfung gesucht. Zwei Arten von Einträgen werden unterstützt:
-
Listen mit Namensmustern.
Es wird nach dem ersten Muster gesucht, das zu dem aktuellen Datei-
oder Verzeichnisnamen passt. Dabei gilt:
* dient als Platzhalter für beliebig viele
Zeichen (auch gar keins).
? dient als Platzhalter für genau 1 Zeichen.
Listen verschiedener Muster wie z.B.
*.ini;*.log *.txt "ab cd.*"
werden unterstützt. Die einzelnen Muster sind durch Semikola und/oder
Leerzeichen voneinander getrennt. Wenn innerhalb eines Musters ein
Leerzeichen vorkommt, dann muss dieses Muster in Anführungszeichen eingeschlossen
werden (wie das letzte Muster in der obigen Liste). Die Liste kann auch das Zeichen
| enthalten, gefolgt von Mustern die mit dem
gegebenen Datei- oder Verzeichnisnamen nicht übereinstimmen sollen
(wie im Total Commander), z.B.
*.* | *.bmp *.jpg *.png
-
Sog. vordefinierte Auswahltypen (wie sie in Total Commanders
INI-Datei im Abschnitt [Searches] definiert sind).
Hier kann hinter "SearchFor=" eine Liste von Namensmustern stehen
(s.o.), oder ein Regulärer Ausdruck (PCRE).
Wenn der Eintrag leer ist, dann passt jeder Name. Der Eintrag nach
"SearchFlags=" legt fest ob der Suchfilter ein Regulärer Ausdruck
ist oder nicht, und ob er nur auf Dateien, nur auf Verzeichnisse oder auf
beides zutreffen soll.
"SearchIn=" und "SearchText=" werden ignoriert.
Die in der Total Commander-Hilfe aufgeführten Spezialkommandos werden nicht
unterstützt.
Einstellungen in der INI-Datei
Das Programm liest Informationen aus einer
INI-Datei mit Namen "NiftyLink.ini". Es sucht zunächst
in seinem eigenen Verzeichnis nach dieser Datei (wichtig für
portable Benutzung). Wenn es die Datei dort nicht gibt, dann wird sie im
Verzeichnis %APPDATA%\NiftyLink\ gesucht bzw.
bei Bedarf erzeugt. Zeilen die mit einem Semikolon beginnen, sind
Kommentare und werden nicht ausgewertet.
Die Standard-INI-Datei sieht so aus:
[General]
Language = German
HelpFile = niftylink_de.htm
[Shortcuts]
doi = http://dx.doi.org/%s
pubmed = http://www.ncbi.nlm.nih.gov/pubmed/%s
rfc = http://www.faqs.org/rfcs/rfc%s
ms-kb = http://support.microsoft.com/kb/%s/en-US
amazon = http://www.amazon.de/o/asin/%s
[Go to page]
; Some of the following commands probably only work for the *German* version
; of the respective program.
Adobe Reader = {SHIFTDOWN}{CONTROLDOWN}n{SHIFTUP}{CONTROLUP}||%s{ENTER}
PDF-XChange Viewer = {SHIFTDOWN}{CONTROLDOWN}n{SHIFTUP}{CONTROLUP}||%s{ENTER}
Microsoft Word = {CONTROLDOWN}g{CONTROLUP}||{ALTDOWN}m{ALTUP}s{TAB}%s{ENTER}{ESCAPE}
TextMaker = {CONTROLDOWN}g{CONTROLUP}||{ALTDOWN}g{ALTUP}s{TAB}%s{ENTER}{ESCAPE}
Microsoft PowerPoint = {F5}||%s{ENTER}
PowerPoint Viewer = %s{ENTER}
SoftMaker Presentations = {CONTROLDOWN}g{CONTROLUP}||{HOME}%s{ENTER}
Citavi = {CONTROLDOWN}e{CONTROLUP}#%s{DELAY 150}{ENTER}
a) Die vom Programm verwendete Sprache
und Hilfedatei richten sich normalerweise automatisch nach der Sprache
des Betriebssystems. Im ersten Abschnitt der INI-Datei kann aber eine
andere Sprache und eine andere Hilfedatei gewählt werden. Die passende
Sprachdatei muss sich im Unterverzeichnis lang
befinden, und die Hilfedatei im Unterverzeichnis
doc.
Anm.: Wenn dieser Abschnitt den Eintrag Log = True enthält, dann schreibt NiftyLink
beim Ausführen eines Links Informationen in eine Datei namens
"NiftyLink.log" im selben Verzeichnis. Diese Informationen zeigen
v.a. wie NiftyLink nach einer passenden internen
Verknüpfung im Total Commander sucht.
b) Der zweite Abschnitt definiert Abkürzungen,
die in NiftyLinks benutzt werden können. Dabei wird im NiftyLink vor dem
Ausführen %s durch den Text nach dem Doppelpunkt
ersetzt. Weitere Einträge können hinzugefügt werden.
(Pseudo-)Umgebungsvariablen können für die Definition
von Abkürzungen verwendet werden.
Beispiel:
Die INI-Datei sei wie oben, und ein NiftyLink enthalte folgende Zeile:
Target=ms-kb:294676
Beim Ausführen dieses NiftyLinks wird dann die Adresse
http://support.microsoft.com/kb/294676/en-US
aufgerufen.
c) Der dritte Abschnitt definiert simulierte Tastatureingaben
für bestimmte Programme, mit deren Hilfe in einer Datei direkt zu einer bestimmten
"Seite" gesprungen werden kann (s.o.). Einträge
für andere Programme können hinzugefügt werden. Vor dem Gleichheitszeichen muss
der Name des Programms stehen (so wie er im Titel des Fensters erscheint, in
dem die Datei geöffnet wird). Nach dem Gleichheitszeichen stehen die
erforderlichen simulierten Tastatureingaben. Dabei ist
%s der Platzhalter für die Seitenzahl.
Bezeichnungen für besondere Tasten
{ENTER}, {ESCAPE}
{TAB}, {HOME}, {END}, {LEFT}, {RIGHT}, {UP}, {DOWN}, {PAGEUP}, {PAGEDOWN}
{BACKSPACE}, {DELETE}, {INSERT}, {PRINTSCREEN}
{F1}, {F2}, {F3}, {F4}, {F5}, {F6}, {F7}, {F8}, {F9}, {F10}, {F11}, {F12}
{CONTROLDOWN}, {CONTROLUP}
{SHIFTDOWN}, {SHIFTUP}
{ALTDOWN}, {ALTUP}
{DELAY n} (n = Anzahl der Millisekunden, die gewartet wird)
Wenn simulierte Tastatureingaben an andere Programme geschickt werden,
ist manchmal eine Pause an der richtigen Stelle und in der richtigen Länge
entscheidend. Das wird grundsätzlich von NiftyLink
berücksichtigt, aber manche Programme sind in dieser Hinsicht besonders
empfindlich. Dafür steht der besondere Befehl {DELAY n}
zur Verfügung, den man wie eine Tastatureingabe verwenden kann.
|| weist das Programm an zu warten, bis ein
neues Fenster geöffnet ist (max. 60 Sekunden).
Übersetzung
Sie können eine neue Sprachdatei erstellen, indem
Sie eine der vorhandenen übersetzen. Das Dateiformat ist UTF-8 mit BOM.
Zum Anwenden der neuen Sprache tragen Sie diese in die
INI-Datei ein. Schicken Sie die Sprachdatei bitte
auch an <support {AT} luethje {DOT} eu>.
Die nächste Version von NiftyLink wird dann
diese Sprache automatisch unterstützen. Vergessen Sie nicht, Ihren Namen
und Ihre E-Mail-Adresse am Dateianfang zu notieren.
Dank
Dieses Programm wurde in
PureBasic geschrieben. Dank an Fantaisie Software für diese
gute Allzweck-Programmiersprache, und Dank an Philip Hazel für die
PCRE-Bibliothek.
Dieses Programm verwendet die PureBasic-Bibliothek "AutoWin"
(in leicht modifizierter Form). Dank dafür an Thomas Schulz.
Die Setup-Version dieses Programms wurde mit dem
Bytessence InstallMaker erzeugt. Dank an Alexandru Trutia
für dieses gute kostenlose Programm.
Besonders danke ich dem Mitglied des Total Commander-Forums sgp
für gründliches Testen des Programms und gute Verbesserungsvorschläge.
Lizenz
Siehe Datei Lizenz.rtf
Kontakt
Diese Software kann heruntergeladen werden von
http://luethje.eu/prog/. Wenn Sie nicht sicher sind, ob Sie eine
originale, unveränderte Kopie der Datei
niftylink110.zip oder
niftylink110_setup_de.exe haben,
berechnen Sie ihre MD5-Prüfsumme. Sie muss mit derjenigen auf meiner Website
übereinstimmen.
Bitte schreiben Sie Fragen, Vorschläge und Fehlerberichte auf
http://www.ghisler.ch/board/viewtopic.php?t=27577 (englisch)
oder an <support {AT} luethje {DOT}
eu>.
J. Lüthje, 22. Juli 2012