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?
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.
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 :
@ 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.
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" %*
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):
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)
Sie können auch dauerhaft (nach Neustarts) fügen den Pfad auf diese Weise variabel:
Klicken Sie mit der rechten Maustaste auf Arbeitsplatz -> Klicken Sie auf Eigenschaften -> Klicken Sie auf Erweiterte Systemeinstellungen -> Klicken Sie auf Umgebungsvariablen
Legen Sie es im Verzeichnis c: \ windows ab oder fügen Sie Ihr Verzeichnis dem "Pfad" in den Umgebungseinstellungen hinzu (Windows-Pause - Registerkarte erweitert)
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.
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"
Fügen Sie dem PFAD die folgenden Schritte hinzu (Windows 10):
Geben Sie die Suchleiste "Umgebung ..." ein und wählen Sie "Systemumgebungsvariablen bearbeiten", wodurch das Fenster "Systemeigenschaften" geöffnet wird
Klicken Sie auf die Schaltfläche Umgebungsvariablen
Doppelklicken Sie auf der Registerkarte Umgebungsvariablen im Abschnitt Systemvariablen auf die Pfadvariable
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.
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.
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.
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.
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
Anstatt benutzerdefinierte ausführbare Dateien abzulegen C:\Windows, sollte der PATHUmgebungsvariablen lieber ein benutzerdefiniertes Verzeichnis hinzugefügt werden.
Antworten:
Sie müssen sicherstellen, dass sich die exe in einem Ordner befindet, der sich in der
PATH
Umgebungsvariablen befindet.Sie können dies tun, indem Sie es entweder in einem Ordner installieren, der sich bereits auf dem befindet,
PATH
oder indem Sie Ihren Ordner zum Ordner hinzufügenPATH
.Sie können dies von Ihrem Installateur ausführen lassen - Sie müssen den Computer jedoch neu starten, um sicherzustellen, dass er abgeholt wird.
quelle
Sie können die folgenden Registrierungs hinzufügen Schlüssel :
Fügen Sie in diesem Schlüssel den Standardzeichenfolgenwert hinzu, der den Pfad zur exe-Datei enthält.
quelle
start
Befehl funktioniert , sodass Siestart myexe
eine Eingabeaufforderung cmd.exe eingeben können. Abermyexe
alleine sollte nicht funktionieren, denke ich (es sei denn, Sie befinden sich im Verzeichnis vonmyexe
oder dieses Verzeichnis befindet sich in derPATH
Umgebungsvariablen).myprog.cmd
erstelle einfach eine kleine Datei mit folgendem Inhalt:@START myprog.exe %*
Dies ruft denApp Paths
Eintrag für aufmyprog.exe
und übergibt alle Befehlsargumente. Die Datei sollte an einem Ort erstellt werden, auf den inPATH
PATH
.start myexe
funktioniert mit dieser Registrierungsänderung, ohne myexe hinzuzufügenPATH
.start myapp
genauso wie Win + Rmyapp
, aber keine Ebenemyapp
in cmd.exe.Sie müssen
.exe
den 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.exe
das 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.
quelle
Windows 10, 8.1, 8
Startmenü öffnen,
Edit environment variables
Edit the system environment variables
Environment variables...
SchaltflächeSystem Variables
Kästchenpath
Variable findenEdit
New
.exe
oder Ihrerbatch
Datei ( Verzeichnis) ein bedeutet, dass der Dateiname vom Pfad ausgeschlossen wird).Ok
auf alle geöffneten Fenster undstarten Sie Ihr Systemneu .Starten Siedie Eingabeaufforderung neu .quelle
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:
quelle
C:\cygwin\bin\grep.exe
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.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.
quelle
Angenommen, meine Exe lautet C: \ Programme \ AzCopy \ azcopy.exe
Befehl / CMD / Batch
Power Shell
Ich kann jetzt einfach
azcopy
von jedem Ort aus über eine beliebige Shell-Eingabeaufforderung, Powershell, Git Bash usw. Tippen und verwendenquelle
quelle
Sie können auch dauerhaft (nach Neustarts) fügen den Pfad auf diese Weise variabel:
Klicken Sie mit der rechten Maustaste auf Arbeitsplatz -> Klicken Sie auf Eigenschaften -> Klicken Sie auf Erweiterte Systemeinstellungen -> Klicken Sie auf Umgebungsvariablen
Referenz: System- / Benutzervariablen ändern
quelle
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
quelle
C:\Windows
, sollte derPATH
Umgebungsvariablen lieber ein benutzerdefiniertes Verzeichnis hinzugefügt werden.Verwenden Sie bei Ihrer Installation eine 1-zeilige Batchdatei:
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.
quelle
C:\Windows
, sollte derPATH
Umgebungsvariablen lieber ein benutzerdefiniertes Verzeichnis hinzugefügt werden.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
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 einec:\aliases\my program.bat
Datei mit dem folgenden Inhalt ( Einzelheiten zum Startbefehl finden Sie unter NT- Startbefehl):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) erstellenc:\aliases\my program.bat
Datei mit folgendem Inhalt: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:
quelle
Fügen Sie dem PFAD die folgenden Schritte hinzu (Windows 10):
quelle
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.
quelle
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
quelle
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
quelle
C:\Windows
, sollte derPATH
Umgebungsvariablen lieber ein benutzerdefiniertes Verzeichnis hinzugefügt werden.