Registrieren Sie eine EXE-Datei, damit Sie sie über eine beliebige Befehlszeile in Windows ausführen können

152

Wie können Sie eine EXE-Datei von einem beliebigen Ort im Windows-Befehlsfenster aus zugänglich machen? Gibt es einen Registrierungseintrag, der eingegeben werden muss?

HK1
quelle
6
superuser.com
David Heffernan

Antworten:

97

Sie müssen sicherstellen, dass sich die exe in einem Ordner befindet, der sich in der PATHUmgebungsvariablen befindet.

Sie können dies tun, indem Sie es entweder in einem Ordner installieren, der sich bereits auf dem befindet, PATHoder indem Sie Ihren Ordner zum Ordner hinzufügen PATH.

Sie können dies von Ihrem Installateur ausführen lassen - Sie müssen den Computer jedoch neu starten, um sicherzustellen, dass er abgeholt wird.

ChrisF
quelle
Diese Antwort ist fast immer die falsche. Zumindest ist es unvollständig. Insbesondere funktioniert dieser Ansatz gut für die INSTALLATION, aber nicht gut für die Deinstallation. Die meisten Deinstallationsprogramme Peitschen die gesamte PATH-Variable aus, wenn sie die damit verbundene Anwendung deinstallieren. Wenn Sie eine Installationsaktion schreiben, um das Verzeichnis zu PATH hinzuzufügen, sollten Sie es daher zu einer BENUTZERDEFINIERTEN Installationsaktion machen, die vom generischen Entfernungspaket nicht automatisch deinstalliert wird. Ordnen Sie dann diesen benutzerdefinierten Installationsschritt einem Deinstallationsschritt zu, der nur Ihr Verzeichnis aus der PATH-Variablen entfernt.
Kim Gentes
21
@ KimGentes gut, das ist ein Problem mit dem Deinstallationsprogramm. Ein gutes Deinstallationsprogramm sollte gut aufräumen. Es macht die Antwort nicht falsch.
ChrisF
3
Ich stimme zu .. es ist ein Problem mit dem Installer. Da dies jedoch alle Installationsprogramme für Variablen tun (sie analysieren und extrahieren keine Teile von Registrierungseinträgen oder ENV-VARIABLEN), erscheint es ratsam, dies zu erklären. Wenn man den Anweisungen genau folgt, werden sie immer auf dieses Problem stoßen, was bedeutet, dass die Lösung wahrscheinlich immer diese Einschränkung enthalten sollte. Keine Installationspakete kümmern sich um die Installation und Deinstallation von Abschnitten von Registrierungseinträgen oder ENV-Variablen, die mir bekannt sind. Bitte lassen Sie mich wissen, wenn es einige gibt, die ich nicht kenne.
Kim Gentes
Anstatt die Umgebung zu "installieren", verwenden Sie eine Batch-Datei mit dem Befehl SETX: SETX PATH "C: \ Windows" ----- und fertig.
Stavm
3
SETX ist auch gefährlich, da es eine viel niedrigere Längenbeschränkung als die PATH-Variable selbst hat und abgeschnitten wird, anstatt zu versagen.
Ben Voigt
48

Sie können die folgenden Registrierungs hinzufügen Schlüssel :

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\myexe.exe

Fügen Sie in diesem Schlüssel den Standardzeichenfolgenwert hinzu, der den Pfad zur exe-Datei enthält.

Andreas Rejbrand
quelle
1
@ Sherdim: Das bezweifle ich sehr. Es hat jedoch immer mit dem startBefehl funktioniert , sodass Sie start myexeeine Eingabeaufforderung cmd.exe eingeben können. Aber myexealleine sollte nicht funktionieren, denke ich (es sei denn, Sie befinden sich im Verzeichnis von myexeoder dieses Verzeichnis befindet sich in der PATHUmgebungsvariablen).
Andreas Rejbrand
Ich myprog.cmderstelle einfach eine kleine Datei mit folgendem Inhalt: @START myprog.exe %*Dies ruft den App PathsEintrag für auf myprog.exeund übergibt alle Befehlsargumente. Die Datei sollte an einem Ort erstellt werden, auf den inPATH
Stavr00
1
@sherdim @ andreas-rejbrand Ich kann bestätigen, dass dies unter Windows 10 nicht funktioniert, wenn myexe nicht vorhanden ist PATH. start myexefunktioniert mit dieser Registrierungsänderung, ohne myexe hinzuzufügen PATH.
Davenpcj
@davenpcj: In der Tat. Der von mir erwähnte Registrierungsschlüssel bezieht sich auf die Windows-Shell und nicht auf die Eingabeaufforderung. Funktioniert also start myappgenauso wie Win + R myapp, aber keine Ebene myappin cmd.exe.
Andreas Rejbrand
1
Dieser Schlüssel kann von Explorer.exe ausgeführt werden. Wenn Sie es von CMD.exe aus versuchen, wird er nicht gefunden.
Prampe
41

Sie müssen .exeden Pfad Ihrer Datei in den Pfad der Umgebungsvariablen einfügen. Gehen Sie zu "Arbeitsplatz -> Eigenschaften -> Erweitert -> Umgebungsvariablen -> Pfad" und bearbeiten Sie den Pfad, indem Sie .exedas Verzeichnis zum Pfad hinzufügen .

Eine andere Lösung, die ich persönlich bevorzuge, ist die Verwendung von RapidEE für eine reibungslosere Bearbeitung von Variablen.

Darioo
quelle
38

Windows 10, 8.1, 8

Startmenü öffnen,

  1. Art Edit environment variables
  2. Öffnen Sie die Option Edit the system environment variables
  3. Klicken Sie auf die Environment variables...Schaltfläche
  4. Dort sehen Sie zwei Kästchen, in System VariablesKästchen pathVariable finden
  5. Klicken Edit
  6. Ein Fenster öffnet sich, klicken Sie New
  7. Geben Sie den Verzeichnispfad Ihrer .exeoder Ihrer batchDatei ( Verzeichnis) ein bedeutet, dass der Dateiname vom Pfad ausgeschlossen wird).
  8. Klicken Sie Okauf alle geöffneten Fenster und starten Sie Ihr System neu . Starten Sie die Eingabeaufforderung neu .
AmiNadimi
quelle
3
Dies ist die einzige Antwort, die mir geholfen hat. Ich würde hinzufügen, dass "Neustart des Systems" nicht notwendig ist. Ein einfacher Neustart des cmd würde ausreichen.
Joffrey Baratheon
Mit WinKey + R und geben Sie SystemPropertiesAdvanced
prampe
29

Anstatt die ausführbare Datei in ein Verzeichnis im Pfad zu verschieben, sollten Sie eine Batchdatei in einem Verzeichnis im Pfad erstellen, in dem das Programm gestartet wird. Auf diese Weise trennen Sie die ausführbare Datei nicht von den unterstützenden Dateien und fügen dem Pfad nicht unbeabsichtigt andere Inhalte im selben Verzeichnis hinzu.

Eine solche Batch-Datei kann folgendermaßen aussehen:

@echo off
start "" "C:\Program Files (x86)\Software\software.exe" %*
Ben Voigt
quelle
1
Haben Sie etwas dagegen, ein Beispiel für eine solche Batch-Datei hinzuzufügen - wäre schön?
Petermeissner
Ich denke, dies ist die beste Option. Ich wollte der Pfadvariablen nicht zu viele Dinge hinzufügen. Ich werde dieses Antwortbeispiel einer solchen Batch-Datei bearbeiten.
Dino
1
Das Problem, das ich damit habe, ist, dass eine neue Shell gestartet wird. Ich versuche, eine Cygwin-Binärdatei in derselben Shell zu starten, was der Fall ist, wenn ich sie direkt alsC:\cygwin\bin\grep.exe
Johann
4
@Johann: Nehmen Sie das heraus start "" und beginnen Sie einfach mit dem Pfad zur ausführbaren Datei. Für die Verwendung in Cygwin benötigen Sie möglicherweise ein Cygwin-Shell-Skript oder einen Symlink. Oder ein Shell-Alias.
Ben Voigt
Perfekt, danke! Ich stimme Ihren anderen Optionen für Cygwin zu, aber in diesem Fall versuche ich, eine Cygwin-Binärdatei von Powershell zu verwenden.
Johann
5

Es ist erstaunlich, dass es für eine so einfache Aufgabe unter Windows keine einfache Lösung gibt. Ich habe dieses kleine Cmd-Skript erstellt, mit dem Sie Aliase unter Windows definieren können (Anweisungen finden Sie im Dateikopf selbst):

https://gist.github.com/benjamine/5992592

Dies ist so ziemlich der gleiche Ansatz, den Tools wie NPM oder Ruby Gems zum Registrieren globaler Befehle verwenden.

Benja
quelle
5

Angenommen, meine Exe lautet C: \ Programme \ AzCopy \ azcopy.exe

Befehl / CMD / Batch

SET "PATH=C:\Program Files\AzCopy;%PATH%"

Power Shell

$env:path = $env:path + ";C:\Program Files\AzCopy"

Ich kann jetzt einfach azcopyvon jedem Ort aus über eine beliebige Shell-Eingabeaufforderung, Powershell, Git Bash usw. Tippen und verwenden

Bevan
quelle
3
  • Wenn Sie es in cmd.exe- oder Batch-Dateien ausführen möchten, müssen Sie das Verzeichnis, in dem sich die EXE-Datei befindet, zur Variablen% path% ( System oder Benutzer ) hinzufügen.
  • Wenn Sie es im Dialogfeld "Ausführen" (Win + R) oder in einer Anwendung ausführen möchten , die ShellExecute aufruft, reicht es aus , Ihre Exe zum Schlüssel "App-Pfade" hinzuzufügen (dies ist weniger fehleranfällig bei der Installation / Deinstallation und auch unübersichtlich die Pfadvariable hoch)
Anders
quelle
2

Legen Sie es im Verzeichnis c: \ windows ab oder fügen Sie Ihr Verzeichnis dem "Pfad" in den Umgebungseinstellungen hinzu (Windows-Pause - Registerkarte erweitert)

Grüße, // t

Teson
quelle
Anstatt benutzerdefinierte ausführbare Dateien abzulegen C:\Windows, sollte der PATHUmgebungsvariablen lieber ein benutzerdefiniertes Verzeichnis hinzugefügt werden.
Roland Illig
Es hängt davon ab, ob. Putty.exe habe ich in / windows eingefügt.
Teson
1

Verwenden Sie bei Ihrer Installation eine 1-zeilige Batchdatei:

SETX PATH "C:\Windows"

Führen Sie die Fledermausdatei aus

Platzieren Sie nun Ihre .exe in c: \ windows und Sie sind fertig.

Sie können den 'exename' in die Befehlszeile eingeben und er wird ausgeführt.

Stavm
quelle
2
Anstatt benutzerdefinierte ausführbare Dateien abzulegen C:\Windows, sollte der PATHUmgebungsvariablen lieber ein benutzerdefiniertes Verzeichnis hinzugefügt werden.
Roland Illig
1

Einfache Bash-ähnliche Aliase in Windows

Um globale bash-ähnliche Aliase in Windows für Anwendungen zu erhalten, die nicht automatisch zum Pfad hinzugefügt werden, ohne sie manuell zum Pfad hinzuzufügen, ist hier die sauberste Lösung, die ich mir ausgedacht habe und die am wenigsten Änderungen am System vornimmt und die meisten aufweist Flexibilität für spätere Anpassungen:

"Installieren" Sie Ihren Aliase-Pfad

mkdir c:\aliases
setx PATH "c:\aliases;%PATH%"

Fügen Sie Ihren Alias ​​hinzu

Im neuen Shell-Fenster öffnen

Um zu beginnen C:\path to\my program.exe, übergeben Sie alle Argumente und öffnen Sie sie in einem neuen Fenster. Erstellen Sie eine c:\aliases\my program.batDatei mit dem folgenden Inhalt ( Einzelheiten zum Startbefehl finden Sie unter NT- Startbefehl):

@echo off
start "myprogram" /D "C:\path to\" /W "myprogram.exe" %*

Im aktuellen Shell-Fenster ausführen

Um zu beginnen C:\path to\my program.exe, in allen Argumenten zu übergeben, aber es im selben Fenster läuft (mehr wie wie bash arbeitet) erstellen c:\aliases\my program.batDatei mit folgendem Inhalt:

@echo off
pushd "C:\path to\"
"my program.exe" %*
popd

Im aktuellen Shell-Fenster ausführen 2

Wenn Sie die Anwendung nicht benötigen, um das aktuelle Arbeitsverzeichnis zu ändern, können Sie einfach einen Symlink zur ausführbaren Datei in Ihrem Aliase-Ordner hinzufügen:

cd c:\aliases\
mklink "my program.exe" "c:\path to\my program.exe"
Erasmus
quelle
0

Fügen Sie dem PFAD die folgenden Schritte hinzu (Windows 10):

  1. Geben Sie die Suchleiste "Umgebung ..." ein und wählen Sie "Systemumgebungsvariablen bearbeiten", wodurch das Fenster "Systemeigenschaften" geöffnet wird
  2. Klicken Sie auf die Schaltfläche Umgebungsvariablen
  3. Doppelklicken Sie auf der Registerkarte Umgebungsvariablen im Abschnitt Systemvariablen auf die Pfadvariable
  4. Fügen Sie den Pfad zu dem Ordner hinzu, der die EXE-Datei zum Pfad enthält, indem Sie auf die leere Zeile doppelklicken und den Pfad einfügen.
  5. Klicken Sie auf OK und beenden Sie das Programm. Öffnen Sie eine neue cmd-Eingabeaufforderung und drücken Sie den Befehl aus einem beliebigen Ordner. Es sollte funktionieren.
Akash Yellappa
quelle
0

Ein anderer Weg könnte durch Hinzufügen sein .LNK , Ihrem $ PATHEX etwas hinzuzufügen. Erstellen Sie dann einfach eine Verknüpfung zu Ihrer ausführbaren Datei (z. B. yourshortcut.lnk) und fügen Sie sie in eines der in $ PATH aufgeführten Verzeichnisse ein.

WARNUNG HINWEIS: Beachten Sie, dass alle .lnk-Dateien, die sich in den in Ihrem $ PATH aufgeführten Verzeichnissen befinden, jetzt auch "PATH'ed" sind. Aus diesem Grund würde ich die zuvor erwähnte Batch-Dateimethode bevorzugen.

Hept0p
quelle
-1

Sollte jemand nach mir suchen, ist dies eine wirklich einfache Möglichkeit, Ihren Pfad hinzuzufügen.

Senden Sie den Pfad an eine Datei, wie im Bild gezeigt, kopieren Sie ihn und fügen Sie ihn aus der Datei ein. Fügen Sie dem neuen Pfad am Ende den spezifischen Pfad mit einem vorangestellten Semikolon hinzu. Möglicherweise muss es vor Windows 7 angepasst werden, aber es ist zumindest ein einfacher Ausgangspunkt.

Eingabeaufforderung Bild zum Exportieren von Pfad in Textdatei

Kevin
quelle
Der wesentliche Teil einer Antwort sollte in einem Text und nicht in einem externen Screenshot enthalten sein.
Roland Illig
-3

Der beste Weg, dies zu tun, besteht darin, die EXE-Datei im Ordner windows / system32 zu installieren. Auf diese Weise können Sie es von jedem Ort aus ausführen. Dies ist derselbe Ort, an dem .exe wie Ping gefunden werden kann

Matthew
quelle
Anstatt benutzerdefinierte ausführbare Dateien abzulegen C:\Windows, sollte der PATHUmgebungsvariablen lieber ein benutzerdefiniertes Verzeichnis hinzugefügt werden.
Roland Illig