552 Stimmen

< h1 >Aliase im Windows-Befehlszeilenfenster< /h1 >

Ich habe notepad++.exe zu meinen Umgebungsvariablen hinzugefügt.

Jetzt öffnet notepad++.exe filename.txt in der Eingabeaufforderung die Datei filename.txt. Aber ich möchte nur np filename.txt eingeben, um die Datei zu öffnen.

Ich habe versucht, DOSKEY np=notepad++ zu verwenden. Aber es bringt nur ein bereits geöffnetes Notepad++ in den Vordergrund, ohne die Datei zu öffnen. Wie kann ich erreichen, dass es die Datei öffnet?

19voto

Außerdem können Sie eine alias.cmd in Ihrem Pfad erstellen (zum Beispiel C:\Windows) mit dem Befehl

@echo %2 %3 %4 %5 %6 > %windir%\%1.cmd

Wenn Sie das gemacht haben, können Sie etwas wie Folgendes tun:

alias NameIhresAlias Befehle zum Ausführen

Und danach können Sie in der Befehlszeile eingeben

NameIhresAlias

dies wird ausführen

Befehle zum Ausführen

ABER der beste Weg für mich ist es, einfach den Pfad eines Programms hinzuzufügen.

setx PATH "%PATH%;%ProgramFiles%\Sublime Text 3" /M

Und jetzt führe ich sublime aus als

subl index.html

14voto

Qwerty Punkte 24128

Konsolenalias in Windows 10

Um ein Konsolenalias zu definieren, verwenden Sie Doskey.exe, um eine Makro zu erstellen, oder verwenden Sie die Funktion AddConsoleAlias.

doskey

doskey test=cd \a_very_long_path\test

Um auch Parameter zu übergeben, fügen Sie am Ende $* hinzu: doskey short=longname $*

AddConsoleAlias

AddConsoleAlias( TEXT("test"), 
 TEXT("cd \\\\test"), 
 TEXT("cmd.exe"));

Weitere Informationen hier Konsolenalias, Doskey, Parameter

12voto

Qwerty Punkte 24128

Natürlich würde ich nicht ruhen, bis ich die bequemste Lösung aller gefunden habe. Hier ist, was Sie haben können, indem Sie die vielen Antworten und Themen im weiten Internet kombinieren.

  • Lädt automatisch mit jeder Instanz von cmd
  • Benötigt keine Schlüsselwörter DOSKEY für Aliase
    Beispiel: ls=ls --color=auto $*

Beachten Sie, dass dies größtenteils auf der Antwort von Argyll und Kommentaren basiert, lesen Sie es auf jeden Fall durch, um die Konzepte zu verstehen.

cmd greetings & aliases

Wie macht man es funktionieren?

  1. Erstellen Sie eine mac Makrodatei mit den Aliassen
    Sie können sogar eine bat/cmd Datei erstellen, um auch andere Dinge auszuführen (ähnlich wie .bashrc in Linux)
  2. Registrieren Sie sie in der Registrierung, um bei jeder Instanz von cmd ausgeführt zu werden
      oder führen Sie es nur über eine Verknüpfung aus, wenn Sie möchten

Beispiel Schritte:

%userprofile%/cmd/aliases.mac

;==============================================================================
;= Diese Datei wird über die Registrierung automatisch mit jeder Instanz von cmd geladen.
;================================ allgemeine Informationen ================================
;= https://stackoverflow.com/a/59978163/985454  -  wie man es einrichtet?
;= https://gist.github.com/postcog/5c8c13f7f66330b493b8  -  Beispiel doskey Makrodatei
;========================= Laden mit cmd-Verknüpfung ==========================
;= Erstellen Sie eine Verknüpfung mit dem folgenden Ziel :
;= %comspec% /k "(doskey /macrofile=%userprofile%\cmd\aliases.mac)"

Alias=echo Öffne Aliasse in Sublime... && subl %USERPROFILE%\cmd\aliases.mac
ga=grep --color "$1" %USERPROFILE%\cmd\aliases.mac

hosts=runas /noprofile /savecred /user:QWERTY-XPS9370\Administrator "subl C:\Windows\System32\drivers\etc\hosts" > NUL

p=@echo "~~ powercfg -devicequery wake_armed ~~" && powercfg -devicequery wake_armed && @echo "~~ powercfg -requests ~~ " && powercfg -requests && @echo "~~ powercfg -waketimers ~~"p && powercfg -waketimers

ls=ls --color=auto $*
ll=ls -l --color=auto $*
la=ls -la --color=auto $*
grep=grep --color $*

~=cd %USERPROFILE%
cdr=cd C:\repos
cde=cd C:\repos\esquire
cdd=cd C:\repos\dixons
cds=cd C:\repos\stekkie
cdu=cd C:\repos\uplus
cduo=cd C:\repos\uplus\oxbridge-fe
cdus=cd C:\repos\uplus\stratus

npx=npx --no-install $*
npxi=npx $*
npr=npm run $*

now=vercel $*

;=nur in bash
;=alias whereget='_whereget() { A=$1; B=$2; shift 2; eval \"$(where $B | head -$A | tail -1)\" $@; }; _whereget'

history=doskey /history
h=IF ".$*." == ".." (echo "usage: h [ SAVE | TAIL [-|+] | OPEN ]" && echo. && doskey/history) ELSE (IF /I "$1" == "OPEN" (%USERPROFILE%\cmd\history.log) ELSE (IF /I "$1" == "SAVE" (echo **** %date% %time% **** >> %USERPROFILE%\cmd\history.log & doskey/history >> %USERPROFILE%\cmd\history.log & ECHO Command history saved) ELSE (IF /I "$1" == "TAIL" (tail $2 %USERPROFILE%\cmd\history.log) ELSE (doskey/history))))

;=exit=echo **** %date% %time% **** >> %USERPROFILE%\cmd\history.log & doskey/history >> %USERPROFILE%\cmd\history.log & ECHO Command history saved, exiting & timeout 1 & exit $*
exit=echo **** %date% %time% **** >> %USERPROFILE%\cmd\history.log & doskey/history >> %USERPROFILE%\cmd\history.log & exit $*

;============================= :end ============================
;= rem ******************************************************************
;= rem * EOF - Entfernen Sie nicht die folgende Zeile.  Sie löscht das ';'
;= rem * Makro. Wir verwenden es, weil es keine Unterstützung für Kommentare gibt
;= rem * in einer DOSKEY-Makrodatei.
;= rem ******************************************************************
;=

Jetzt haben Sie drei Optionen:

  • a) manuelles Laden mit Verknüpfung

    Erstellen Sie eine Verknüpfung zu cmd.exe mit dem folgenden Ziel:
    %comspec% /k "(doskey /macrofile=%userprofile%\cmd\aliases.mac)"

  • b) nur die aliases.mac Makrodatei registrieren

  • c) Registrieren eines regulären cmd/bat Files, um auch beliebige Befehle auszuführen (ähnlich wie in Linux .bashrc)
    Sehen Sie sich das Beispiel cmdrc.cmd File unten an

Hinweis: Im Folgenden ist `Autorun` nur ein Platzhalter, der nichts bewirkt. Wählen Sie einen aus und benennen Sie den anderen um._

Bearbeiten Sie die Registrierung manuell unter diesem Pfad:

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]

  Autorun    REG_SZ    doskey /macrofile=%userprofile%\cmd\aliases.mac
  Autorun_    REG_SZ    %USERPROFILE%\cmd\cmdrc.cmd

Oder importieren Sie eine Reg-Datei:

%userprofile%/cmd/cmd-aliases.reg

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"Autorun"="doskey /macrofile=%userprofile%\\cmd\\aliases.mac"
"Autorun_"="%USERPROFILE%\\cmd\\cmdrc.cmd"

%userprofile%/cmd/cmdrc.cmd <em>Sie benötigen diese Datei nicht, wenn Sie sich für b) entschieden haben</em>

:: Diese Datei wird über die Registrierung automatisch mit jeder Instanz von cmd geladen.
:: https://stackoverflow.com/a/59978163/985454

@echo off
doskey /macrofile=%userprofile%\cmd\aliases.mac

:: Hier weitere Befehle einfügen

cls
echo Hi Qwerty, wie geht es dir heute?

cmd greetings & aliases

11voto

Steaton Punkte 119

Sie möchten ein Alias erstellen, indem Sie einfach eingeben:

c:\>alias kgs kubectl get svc

Alias erstellt für kgs=kubectl get svc

Und verwenden Sie das Alias wie folgt:

c:\>kgs alfresco-svc

NAME           TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
alfresco-svc   ClusterIP   10.7.249.219           80/TCP    8d

Fügen Sie einfach die folgende alias.bat-Datei zu Ihrem Pfad hinzu. Sie erstellt einfach zusätzliche Batch-Dateien im gleichen Verzeichnis wie sich selbst.

  @echo off
  echo.
  for /f "tokens=1,* delims= " %%a in ("%*") do set ALL_BUT_FIRST=%%b
  echo @echo off > C:\Development\alias-script\%1.bat
  echo echo. >> C:\Development\alias-script\%1.bat
  echo %ALL_BUT_FIRST% %%* >> C:\Development\alias-script\%1.bat
  echo Alias erstellt für %1=%ALL_BUT_FIRST%

Ein Beispiel für die erstellte Batch-Datei namens kgs.bat ist:

@echo off 
echo. 
kubectl get svc %*

6voto

David Punkte 71

Eigentlich gehe ich noch einen Schritt weiter und verrate Ihnen eine kleine Technik, die ich schon seit meiner Programmierzeit auf einem Amiga benutze. Auf jedem neuen System, sei es privat oder beruflich, ist Schritt eins, zwei Ordner zu erstellen: C:\BIN und C:\BATCH. Ändern Sie dann Ihre Pfadangabe, um beide an den Anfang in der Reihenfolge C:\BATCH;C:\BIN;[restlicher Pfad] zu setzen.

Wenn Sie das getan haben und Zugriff auf spezielle Dienstprogramme benötigen, kopieren Sie sie einfach in den Ordner C:\BIN und sie sind in Ihrem Pfad enthalten. Um diese Zuweisungen vorübergehend außer Kraft zu setzen, können Sie eine Stapeldatei mit dem gleichen Namen wie die ausführbare Datei in den Ordner C:\BATCH hinzufügen und der Pfad wird sie vor der Datei in C:\BIN finden. Es sollte alles abdecken, was Sie jemals tun müssen.

Natürlich wäre heutzutage der anerkannt richtige Weg, um dies zu tun, eine symbolische Verknüpfung zur Datei zu erstellen, aber dasselbe Prinzip gilt. Es gibt auch einen kleinen zusätzlichen Bonus. Wenn Sie etwas im System platzieren möchten, das mit einem bereits im Pfad vorhandenen Element in Konflikt steht, wird es einfach das Original im C:\BIN oder C:\Batch Ordner vorwegnehmen - was es Ihnen ermöglicht, Dinge entweder vorübergehend oder dauerhaft zu überschreiben oder Dinge umzubenennen, damit sie für Sie bequemer sind - ohne das Original tatsächlich zu ändern.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X