Tipps & Tricks:EXE Dateien in der Eingabeaufforderung/Batches überall zugänglich machen ohne die Verwendung von PATH

Ich verwende sehr oft eine Eingabeaufforderung/Console/CMD.EXE/4-NT Session (wie man es auch nennen mag), weil vieles für mich einfach so schneller geht.
Zudem verwende ich eine Reihe von netten Helferleins (Tools), die zum Teil auch in meinen Buildprozessen integriert sind. Dort wird manchmal auch etwas gemacht was über ein TF CHECKOUT hinausgeht, oder was eben sowieso durch VS in den Path eingetragen wurde.

In den meisten Fällen nutze ich die normalen Installationsroutinen für diese Tools. Das Problem ist dann aber, dass diese Tools sich über X-C:\Program Files\Verzeichnisse verteilen.
Jetzt bei jedem Tool zu wissen wo es installiert ist übersteigt meine Kapazitäten und meine Lust die Pfade einzugeben. Es genügt, wenn ich weiß dass ich die Powertools des TFS mit TFPT aufrufen möchte, oder 7z.
Nun jeden dieser Pfade in PATH einzutragen ist ja wirklich auch nicht der Schreier. Das ganze wegen einer EXE…

Es gibt einen einfachen Weg sich Tools so zu behandeln, dass man sie von überall aufrufen kann. Dieser Weg ist in der Shell verborgen und lautet:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\
Jeder, der schon mal ein Installationsprogramm geschrieben hat kennt diesen Eintrag.

Was man zu tun hat ist ganz simpel: Man erzeugt einfach über RegEdit.exe in diesem Ast einen neuen Schlüssel mit dem Namen der EXE, die man gerne überall benutzen möchte (z.B. 7Z.EXE oder TFPT.EXE). Auf der rechten Seite als Standardwert trägt man einfach den vollständigen Pfad ein, wo diese EXE zu finden ist (in meinem Beispiel also: C:\Program Files\7-Zip\7z.exe oder eben C:\Program Files\Microsoft Team Foundation Server 2008 Power Tools\TFPT.exe).
So einfach kann es manchmal sein 😉

BTW: Leider geht das ganze nicht mit
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\!
Es gibt zwar einige dämliche Programme, die hier Eintragungen machen, allerdings haben die keine Wirkung.

3 Gedanken zu „Tipps & Tricks:EXE Dateien in der Eingabeaufforderung/Batches überall zugänglich machen ohne die Verwendung von PATH“

  1. Ja, diese Registry-Einstellung ist bekannt, nur nutzt es leider überhaupt nichts mit cmd.exe, weil diese Konsole nur den PATH auswertet. Funktionieren tut das AFAIK nur mit der Run-Box aus dem Startmenü bzw. Windows-Taste+R, auch für die PowerShell gibt es ein Startup-Skript, welches die Registry auswertet. Könnte es also sein, dass du mit einer Shell wie 4-NT arbeitest?

  2. Ja! Ich arbeite seit Jahren mit 4NT.

    OK! Dann geht es mit CMD.EXE direkt also nicht.
    In diesem Fall funktioniert es nur mit
    START /B /WAIT MyCommand

    Was zumindest in Batchfiles eine Erleichterung bringt. Jedoch kann man da natürlich auch den vollen Namen theoretisch ausschreiben.

    Schade. Hat sich mein Tipp teilweise als Flop herausgestellt.

  3. Der Tipp ist schon cool.
    Denn um schnell ein Programm zu starten gibt es viele Möglichkeiten: Die QuickLaunch-Bar, Launchy, oder auch die RunBox, die mit Win-R schnell aufrufbar ist. Es macht sehr viel Sinn, sich seine Programme, die man gerne startet, aber keine Reg-Eintrag haben, dort einzutragen.

    Vielen Dank!

    MfG,
    Vincent.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

This site uses Akismet to reduce spam. Learn how your comment data is processed.