Ist es möglich, ein Windows-Terminal oder einen Powershell-Alias zu erstellen, der wie dieser funktioniert? Und wenn ja, wie?
alias dep="dep -fdeploy/deploy.php"
Antwort1
Sie können eine Batchdatei erstellen, die den Befehl ausführt, und sie mit dem gewünschten Alias benennen. Wenn Sie die Batchdatei dann an einem Ort innerhalb Ihrer Umgebungsvariable PATH ablegen, können Sie Ihren Befehl überall eingeben und er führt Ihre Batchdatei und damit Ihre Befehlsreihe aus.
Zum Beispiel,
Wenn Sie das folgende Skript in Ihrem Ordner C:\Windows platzieren (dieser Ordner befindet sich standardmäßig in Ihrer PATH-Umgebung, daher sollte es funktionieren), können Sie es von überall aufrufen.
Skriptname: deploy.cmd
Skriptinhalt:
echo Starting deploy.php...
cd /d c:\path\to\dep
dep -fdeploy/deploy.php
Die einzige Einschränkung besteht darin, dass Ihre .cmd-Datei nicht dieselbe Erweiterung haben darf wie die ausführbare Datei, die Sie ausführen möchten. Da die .exe-Datei Vorrang vor der .cmd-Datei hat, wird, wenn Sie sich im Ordner befinden, in dem sich dep.exe befindet, durch die Eingabe von dep ohne .cmd stattdessen dep.exe ohne Parameter aufgerufen. Sie können dep.exe natürlich auch umbenennen.
Wenn Sie wirklich möchten, dass dep.cmd und dep.exe nebeneinander existieren, dann müssen Sie dep.cmd eingeben, wenn Sie sich im selben Ordner befinden, damit es funktioniert, können dep aber überall sonst ohne .cmd verwenden.
In meinem Beispiel hier habe ich den Alias „deploy“ genannt und dep.exe unverändert gelassen. Sie können jetzt „deply“ überall in einem Windows-Terminal oder einer Powershell-Sitzung eingeben.
Beachten Sie, dass Powershell zwar auch die Möglichkeit bietet, Aliase zu erstellen, diese werden jedoch nicht auf die Eingabeaufforderung übertragen und funktionieren daher nur mit Powershell.