NiftyLink – Versatile links for Explorer and Total Commander

Version 1.10                Freeware                © Jürgen Lüthje 2012


Installation in Total Commander
Creation of NiftyLinks
Execution of NiftyLinks
Settings in the INI file


NiftyLink is a 32 bit program for Windows 2000/XP/Vista/7, that integrates with Windows Explorer, and provides additional functionality as portable add-on for Total Commander (version 7.50+). It allows creation and execution of special links to directories, files, and internet addresses. These links provide possibilities, that are not given with any standard Windows link (LNK file, junction, symbolic link, or hard link).

General Additional features in Total Commander

Installation in Total Commander

a) For creating NiftyLinks
Create an entry like the following in Total Commander's button bar or in its start menu (paths to files must be adapted).

Command   : %commander_path%\..\NiftyLink\NiftyLink.exe
Parameters: %P%N
Start path:
Icon file : %commander_path%\..\NiftyLink\NiftyLink.exe
Tooltip   : Create NiftyLink in target directory

b) For executing NiftyLinks
Create internal associations in Total Commander with the program NiftyLink.exe for each file type *._x (NiftyLink to a directory) and *.fx (NiftyLink to a file). Associate both file types with the following command for opening (adapt path):

"%commander_path%\..\NiftyLink\NiftyLink.exe" /e "%1"

The advantage of creating separate associations for each file type is, that this way different icons can be associated with them. The program NiftyLink.exe contains icons for this purpose.

c) For showing the content as tooltip (if wanted)
Unfortunately, special characters such as the German umlauts are not displayed correctly.

Creation of NiftyLinks


dialog for
creating a new link (Pseudo) environment variables and shortcuts

Pseudo environment variables and self-defined shortcuts can only be used in NiftyLinks. Environment variables are also passed to the process that is launched by a NiftyLink.

Additional features in Total Commander

dialog for
creating a new link in Total Commander

The dialog offers different options for opening the link target, according to whether it is a directory, an archive, or a normal file.

Execution of NiftyLinks

To execute a NiftyLink, select it and press [Enter], or double-click at it. When you press the [Esc] key at the same time, then the input focus always stays in the current tab of Total Commander (or in the current Explorer window), even when the respective NiftyLink opens a directory or archive in another tab (or in another Window).
When you press the [Shift] key while executing a NiftyLink, then not the target file or the target directory will be opened, but its parent directory (in TC always in the current tab), and the target will be selected.

Execution without Total Commander
NiftyLinks can contain special <commands in angle brackets> for execution in Total Commander. Without Total Commander, the commands <archive>, <newtab>, <other>, <newtabother> and <system> are simply ignored. Commands that begin with <TC_ cause an error message, when executed without Total Commander.

Execution in Total Commander
In certain situations, NiftyLink searches the currently used file “wincmd.ini” for an appropriate command for opening the link target (even when the concerning sections of “wincmd.ini” are redirected to other files).

Settings in the INI file

The program reads information from an INI file named “NiftyLink.ini”. It firstly looks for this file in its own directory (important for portable usage). If the file does not exist there, then it is searched in the directory %APPDATA%\NiftyLink\, or will be created if necessary. Lines that start with a semicolon are comments, and will not be interpreted.

The standard INI file looks like this:

Language = English
HelpFile = niftylink_en.htm

doi =
pubmed =
rfc =
ms-kb =
amazon =

[Go to page]
; Some of the following commands probably only work for the *German* version
; of the respective program.
Microsoft PowerPoint = {F5}||%s{ENTER}
PowerPoint Viewer = %s{ENTER}
SoftMaker Presentations = {CONTROLDOWN}g{CONTROLUP}||{HOME}%s{ENTER}

a) The language and the help file used by the program normally are chosen automatically, depending on the language of the operating system. However, in the first section of the INI file, you can choose a different language and a different help file. The corresponding language file must be located in the subdirectory lang, and the help file must be in the subdirectory doc.
Note: If this section contains the entry Log = True, then NiftyLink writes information to a file named “NiftyLink.log” in the same directory, while executing a link. This information shows especially how NiftyLink searches for a matching internal association in Total Commander.

b) The second section defines shortcuts which can be used in NiftyLinks. Before a NiftyLink is executed, %s will be replaced with the text after the colon. You can add new entries. (Pseudo) environment variables can be used for defining shortcuts.
Given an INI file as above, and a NiftyLink that contains the following line:
When executing this NiftyLink, the address
will be opened.

c) The third section defines simulated keystrokes for certain programs, so that it's possible to jump directly to a particular “page” of a file (see above). Entries for other programs can be added. On the left side of the equal sign, there must be the name of the program (like it is shown in the title of the window in which the file is opened). On the right side of the equal sign, there are the required simulated keystrokes, where %s is the placeholder for the page number.

Notation for special keys
{F1}, {F2}, {F3}, {F4}, {F5}, {F6}, {F7}, {F8}, {F9}, {F10}, {F11}, {F12}
   (n = number of milliseconds)

When simulated keystrokes are sent to other programs, a proper delay at the proper moment can be crucial. NiftyLink generally takes this into account, but some programs are particularly sensitive in this regard. That's why there is the special command {DELAY n}, which can be used like a keyboard command. || tells the program to wait until a new window is open (max. 60 seconds).


You can create a new language file by translating an existing one. The file format is UTF-8 with BOM. To use the new language, enter it in the INI file. Please also send the language file to <support {AT} luethje {DOT} eu>. The next version of NiftyLink will then support this language automatically. Don't forget to write your name and e-mail address at the beginning of the file.


This program was written in PureBasic. Thanks to Fantaisie Software for this good general purpose programming language, and thanks to Philip Hazel for the PCRE library.
This program uses the PureBasic library “AutoWin” (in slightly modified form). Thanks for that to Thomas Schulz.
The setup version of this program was built with Bytessence InstallMaker. Thanks to Alexandru Trutia for this good free program.
Special thanks to the Total Commander forum member sgp for thoroughly testing the program, and for good suggestions for improvement.


If you do not accept the following license, then you are not allowed to use or distribute this software.

1. Copyright
NiftyLink is copyright 2012 by the author Jürgen Lüthje, all rights are reserved.

2. Right to use
NiftyLink is and will continue to be freeware. You may use the program free of charge privately and commercially.

3. Copying
You may copy and distribute the software and its documentation, as long as the file or niftylink110_setup_en.exe, respectively, is not modified. This means, among other things, that you are not allowed to rename the file, or split it into pieces.

4. Support
You are not entitled to support by the author. However, the author tries to answer inquiries by e-mail.

5. Disclaimer
This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. The author does not accept responsibility or liability for any effects, adverse or otherwise, that this code may have on you or your computer. Use it at your own risk.

Last updated 22. Juli 2012  –  Contact
I am not responsible for the contents of external websites.