Aliasy w wierszu polecenia systemu Windows


358

Dodałem notepad++.exedo moich zmiennych Path in Environment.

Teraz w wierszu polecenia notepad++.exe filename.txtotwiera filename.txt. Ale chcę to zrobić, np filename.txtaby otworzyć plik.

Próbowałem użyć DOSKEY np=notepad++. Ale po prostu wysuwa na pierwszy plan już otwarty notatnik ++ bez otwierania pliku. Jak mogę go otworzyć?

Dzięki.


2
Zmień nazwę pliku wykonywalnego na dowolne. Możesz to zrobić w Eksploratorze plików!
IgorGanapolsky

Odpowiedzi:


442

Aby dodać do odpowiedzi Josha:

możesz uczynić aliasy trwałymi, wykonując następujące kroki,

  1. Utwórz plik .bat lub .cmd za pomocą swoich DOSKEYpoleceń.
  2. Uruchom regedit i przejdź do HKEY_CURRENT_USER\Software\Microsoft\Command Processor
  3. Dodaj wpis Wartość ciągu z nazwą AutoRuni pełną ścieżką do pliku .bat / .cmd.

    Na przykład %USERPROFILE%\alias.cmdzastąpienie początkowego segmentu ścieżki %USERPROFILE%przydaje się do synchronizacji między wieloma komputerami.

W ten sposób przy każdym uruchomieniu cmd ładowane są aliasy.

W systemie Windows 10 dodaj HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processorzamiast tego pozycję.

Dla kompletności, oto szablon ilustrujący rodzaj aliasów, które mogą być przydatne.

@echo off

:: Temporary system path at cmd startup

set PATH=%PATH%;"C:\Program Files\Sublime Text 2\"

:: Add to path by command

DOSKEY add_python26=set PATH=%PATH%;"C:\Python26\"
DOSKEY add_python33=set PATH=%PATH%;"C:\Python33\"

:: Commands

DOSKEY ls=dir /B
DOSKEY sublime=sublime_text $*  
    ::sublime_text.exe is name of the executable. By adding a temporary entry to system path, we don't have to write the whole directory anymore.
DOSKEY gsp="C:\Program Files (x86)\Sketchpad5\GSP505en.exe"
DOSKEY alias=notepad %USERPROFILE%\Dropbox\alias.cmd

:: Common directories

DOSKEY dropbox=cd "%USERPROFILE%\Dropbox\$*"
DOSKEY research=cd %USERPROFILE%\Dropbox\Research\

  • Zauważ, że $*składnia działa po łańcuchu katalogów, a także w pliku wykonywalnym, który przyjmuje argumenty. W powyższym przykładzie zdefiniowane przez użytkownika polecenie dropbox researchwskazuje ten sam katalog co research.
  • Jak wskazał Rivenfall, dobrym pomysłem jest dołączenie polecenia, które pozwala na wygodną edycję alias.cmdpliku. Patrz aliaswyżej Jeśli jesteś w sesji cmd, wprowadź, cmdaby zrestartować cmd i ponownie załadować alias.cmdplik.

Kiedy szukałem w Internecie odpowiedzi na pytanie, w jakiś sposób dyskusje skupiały się wyłącznie na wytrwałości lub tylko na pewnym użyciu DOSKEY. Mam nadzieję, że ktoś skorzysta z tych dwóch aspektów bycia razem tutaj!


Oto .regplik, który pomoże Ci zainstalować alias.cmd. Jest teraz ustawiony jako przykład folderu dropbox, jak sugerowano powyżej.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"AutoRun"="%USERPROFILE%\\alias.cmd"

W przypadku aplikacji dla jednego użytkownika powyższe czynności wystarczą. Niemniej jednak istnieją sytuacje, w których konieczne jest sprawdzenie, czy alias.cmdnajpierw istnieje w kluczu rejestru. Zobacz przykład poniżej.

W C:\Users\Public\init.cmdpliku obsługującym konfiguracje potencjalnie dla różnych użytkowników:

@ECHO OFF
REM Add other configurations as needed
IF EXIST "%USERPROFILE%\alias.cmd" ( CALL "%USERPROFILE%\alias.cmd" )

Klucz rejestru należy zaktualizować odpowiednio do C:\Users\Public\init.cmdlub przy użyciu .regpliku:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"AutoRun"="C:\\Users\\Public\\init.cmd"

2
dokładnie to, czego potrzebowałem; działa świetnie; Polecam dodanie doskey, aby faktycznie edytować plik
env.cmd

8
To jest naiwne i nieefektywne. Plik wsadowy autorun zostanie uruchomiony dla każdej instancji programu cmd.exe, w tym systemfunkcji. Musi wyjść, jeśli określona zmienna (np. AUTORUN) Jest zdefiniowana. W przeciwnym razie skonfiguruj środowisko ( set AUTORUN=1) i skonfiguruj doskey w jednym przebiegu, używając opcji makrofile zamiast uruchamiania doskey.exe w celu zdefiniowania każdego aliasu.
Eryk Sun

4
@eryksun czy możesz zamieścić post lub link do mniej naiwnego przykładu? Wiem, jak wyjść, jeśli autorun jest zdefiniowany, ale jestem zdezorientowany, jak go ustawić lub rozbroić bez uruchamiania CMD.
matt wilkie

3
Jaki jest zamiennik HKEY_CURRENT_USER\Software\Microsoft\Command Processorw dniu dzisiejszym? I nie wydaje się, aby znaleźć tę ścieżkę w regedit już
sty

4
Lubię to. Podobną opcją jest umieszczenie w Autorun: doskey /macrofile="%USERPROFILE%\alias". Następnie umieść aliasy w pliku „alias”, bez części „doskey”. Rozwiązanie, którego administrator może użyć, aby ograniczyć definicje autorun do aliasów, które użytkownik może wykonać samodzielnie. Uniemożliwianie użytkownikom automatycznego uruchamiania innych rzeczy.
user1708042,

237

Musisz przekazać parametry, spróbuj tego:

doskey np=notepad++.exe $*

Edycja (w odpowiedzi na komentarz Romonowa) P: Czy jest jakiś sposób, aby zapamiętać wiersz polecenia, więc nie muszę go uruchamiać za każdym razem, gdy otwieram nowy wiersz polecenia?

doskey to polecenie tekstowe interpretowane przez procesor poleceń (np. cmd.exe), nie może wiedzieć, jak zmodyfikować stan w innym procesie (szczególnie takim, który jeszcze się nie rozpoczął).

Ludzie, którzy używają doskeydo konfigurowania początkowych środowisk powłoki poleceń, zwykle używają /Kopcji (często za pomocą skrótu), aby uruchomić plik wsadowy, który wykonuje wszystkie typowe ustawienia (np. Tytuł okna, kolory itp.).

cmd.exe /K env.cmd

env.cmd:

title "Foo Bar"
doskey np=notepad++.exe $*
...

7
Działa to z wierszem poleceń, w którym uruchamiam to polecenie. Ale jeśli zamknę okno i otworzę nowy wiersz polecenia. Nie pamięta polecenia np. Czy jest jakiś sposób, aby zapamiętać wiersz polecenia, więc nie muszę go uruchamiać za każdym razem, gdy otwieram nowy wiersz polecenia?
Romonov,

5
To samo zachowanie bez zmiany ŚCIEŻKI:doskey npp="C:\Program Files (x86)\Notepad++\notepad++.exe" $*
Matt Bierner,

5
doskey.exe nie ma nic wspólnego z cmd.exe. Ustawia alias dla bieżącego lub określonego pliku wykonywalnego w oknie konsoli, które jest hostowane przez instancję pliku conhost.exe. Aliasy konsoli są dopasowywane i zastępowane na początku wiersza wprowadzania, zanim aplikacja kliencka (np. Cmd.exe lub powershell.exe) przeczyta wiersz. Nie można ich używać ogólnie jako poleceń, np. Nie w plikach wsadowych ani do potoków.
Eryk Sun

Cześć, użyłem tego z cmder do otwarcia phpstorm ... otwiera phpstorm, ale wciąż otwiera mój ostatni otwarty projekt, a nie katalog projektu, w którym aktualnie jestem ... Jak mogę to otworzyć, niezależnie od tego, w którym DIR jestem?
PA-GW,

113

Jeśli szukasz tylko prostych poleceń, możesz wykonać następujące czynności:

  1. Utwórz folder o nazwie C: \ Aliases
  2. Dodaj C: \ Aliasy do swojej ścieżki (aby za każdym razem znajdowały się w niej pliki)
  3. Utwórz plik .bat w C: \ Aliasy dla każdego z aliasów, który chcesz

Może przesada, ale w przeciwieństwie do (poza tym doskonałej) odpowiedzi z @Argyll, to rozwiązuje problem tego ładowania za każdym razem.

Na przykład mam plik o nazwie dig2.bat zawierający następujące informacje:

@echo off
echo.
dig +noall +answer %1

Twój plik np miałby następujące:

@echo off
echo.
notepad++.exe %1

Następnie po prostu dodaj folder C: \ Aliases do zmiennej środowiskowej PATH. Jeśli masz już otwarty program CMD lub PowerShell, musisz go ponownie uruchomić.

FWIW, mam około 20 aliasów (osobnych plików .bat) w moim katalogu C: \ Aliases - po prostu tworzę nowe, jeśli to konieczne. Może nie najładniejszy, ale działa dobrze.

AKTUALIZACJA : Zgodnie z doskonałą sugestią użytkownika @Mav, jeszcze lepiej jest użyć % * niż % 1 , abyś mógł przekazać wiele plików do polecenia, np .:

@echo off
echo.
notepad++.exe %*

W ten sposób możesz to zrobić:

np c:\temp\abc.txt c:\temp\def.txt c:\temp\ghi.txt

i otworzy wszystkie 3 pliki.


4
Osobiście używam tej metody przez długi czas. Jest to jedna z takich bardzo łatwych do zrobienia metod, jeśli ktoś nie chce iść dalej doskey.
bantya

4
Jedną z zalet tej metody (pliki cmd jako aliasy) jest to, że jeśli używasz WSL (podsystem Linux dla Windows), te cmd są również dostępne w wersji bash. Chociaż często (w zależności od aliasingu) musisz wywołać manipulację ścieżką za pomocą narzędzia wslpath.sh lub podobnego przed wywołaniem pliku cmd
Alex Perry

1
@ roryhewitt O tak, określenie pełnej ścieżki do ls.exepowinno zdecydowanie zadziałać. Słuszna uwaga. Użyłem jednak alternatywy doskey.
Qwerty

4
Może chcesz dodać% * zamiast% 1, aby przekazać wszystkie argumenty, a nie tylko pierwszy.
Mav

1
Świetny! Teraz mogę mieć PHP bez potrzeby jego instalowania, wystarczy użyć devilbox do dockera i dodaćdocker exec --user devilbox dvlbx_php_1 php %*
Alvaro Flaño Larrondo

38

Alternatywnie możesz użyć, cmderktóry pozwala dodawać aliasy tak jak linux:

alias subl="C:\Program Files\Sublime Text 3\subl.exe" $*

12
Chociaż to nie odpowiada na pytanie. Ważne jest, aby ludzie wywodzący się z Linuksa zrozumieli, że istnieje alternatywa dla CMD dla Windows, która może zaspokoić ich bezpośrednie potrzeby.
Joseph Casey

1
Istnieje wiele alternatyw. Git dla Windows zawiera jeden „git-bash”.
cowlinator

Aby dodać alias w Cmder, zobacz przykład tutaj .
jdhao

Cześć, użyłem tego z cmder do otwarcia phpstorm ... otwiera phpstorm, ale wciąż otwiera mój ostatni otwarty projekt, a nie katalog projektu, w którym aktualnie jestem ... Jak mogę to otworzyć, niezależnie od tego, w którym DIR jestem?
PA-GW,

29

Biorąc pod uwagę, że dodałeś notatnik ++. Exe do zmiennej PATH, jest to bardzo proste. Utwórz plik w folderze System32 o nazwie np.batz następującym kodem:

@echo off
call notepad++.exe %*

Do %*przechodzi wzdłuż wszystkich argumentów podać nppolecenie do notepad++.exekomendy.

EDYCJA: Będziesz potrzebować dostępu administratora, aby zapisać pliki w folderze System32, co było dla mnie trochę dziwne. Właśnie utworzyłem plik gdzieś indziej i ręcznie przeniosłem go do System32.


Mam już folder małych plików narzędziowych .bat, więc podoba mi się to bardziej niż bałagan w rejestrze lub plik .cmd
Rich

1
Właśnie próbowałem i nie działa to tak samo, jak bezpośrednie wywoływanie Notepad ++. Jeśli użyjesz symboli wieloznacznych w otwieranej nazwie pliku i zadzwonisz bezpośrednio do NPP, to "notepad++.exe *somefiles*"zadziała , np. Możesz to zrobić i pasujące pliki zostaną otwarte. Kiedy próbowałem tego z twoim sugerowanym plikiem wsadowym, tzn "npp *somefiles*". Otworzył instancję NPP, ale nie otworzył plików, które przekazałem. jakieś pomysły?
SSilk

14

Możesz także utworzyć alias.cmd na swojej ścieżce (na przykład C: \ Windows) za pomocą polecenia

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

Gdy to zrobisz, możesz zrobić coś takiego:

alias nameOfYourAlias commands to run 

A potem możesz wpisać linię komend

nameOfYourAlias 

to się wykona

commands to run 

ALE najlepszym sposobem dla mnie jest po prostu dodanie ścieżki do programu.

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

A teraz prowadzę wzniosły jak

subl index.html

9

Aliasy konsoli w systemie Windows 10

Aby zdefiniować alias konsoli, użyj Doskey.exedo utworzenia makra lub użyj AddConsoleAliasfunkcji.

doskey

doskey test=cd \a_very_long_path\test

Aby przekazać parametry, dodaj $*na końcu:doskey short=longname $*

AddConsoleAlias

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

Więcej informacji tutaj Aliasy konsoli , Doskey , parametry


7

Chcesz utworzyć alias, wpisując po prostu:

c:\>alias kgs kubectl get svc

Created alias for kgs=kubectl get svc

I użyj aliasu w następujący sposób:

c:\>kgs alfresco-svc

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

Wystarczy dodać następujący alias.batplik do ścieżki. Po prostu tworzy dodatkowe pliki wsadowe w tym samym katalogu, co on sam.

  @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 Created alias for %1=%ALL_BUT_FIRST%

Przykładem pliku wsadowego, który ten utworzył, kgs.batjest:

@echo off 
echo. 
kubectl get svc %* 

6

Właściwie, wybiorę ci jedną lepszą i dam ci trochę techniki, której użyłem, odkąd programowałem na Amiga. W każdym nowym systemie, z którego korzystasz, czy to osobistym, czy zawodowym, krok pierwszy to utworzenie dwóch folderów: C:\BINi C:\BATCH. Następnie zmodyfikuj instrukcję path, aby umieścić oba na początku w kolejności C:\BATCH;C:\BIN;[rest of path].

Po zrobieniu tego, jeśli masz mało nieszablonowych narzędzi, do których potrzebujesz dostępu, po prostu skopiuj je do C:\BINfolderu i będą na twojej drodze. Aby tymczasowo zastąpić te przypisania, możesz dodać do folderu plik wsadowy o tej samej nazwie co plik wykonywalny, C:\BATCHa ścieżka znajdzie go przed plikiem w C: \ BIN. Powinien obejmować wszystko, co może być kiedykolwiek potrzebne.

Oczywiście w dzisiejszych czasach poprawnym kanonicznym sposobem byłoby utworzenie symbolicznego połączenia z plikiem, ale ta sama zasada obowiązuje. Istnieje również dodatkowa premia. Jeśli chcesz umieścić w systemie coś, co jest w konflikcie z czymś, co już znajduje się na ścieżce, umieszczenie go w folderze C:\BINlub C:\Batchspowoduje po prostu uprzedzenie oryginału - umożliwiając tymczasowe lub trwałe zastąpienie elementów lub zmianę nazwy rzeczy na nazwy bardziej komfortowy z - bez zmiany oryginału.


1
To jest ta sama odpowiedź, co Roryhewitt.
Jean-François Fabre

2
Właściwie nie, nie jest. Powiedziałem „jeden lepszy”. Wbudowana opcja zastępowania lub zastępowania zastąpienia, które już istnieje. Prosta segregacja plików wykonywalnych z plików wsadowych. A rozwiązanie Rory nie określa, gdzie na ścieżce powinien iść folder. Dlatego większość z nich umieści go na końcu ścieżki. Będąc na końcu zamiast na początku, jego rozwiązanie nie pozwoli na zastąpienie w pierwszej kolejności. Rozwiązanie Rory jest w przybliżeniu takie samo jak rozwiązanie, do którego sam doszedłem - 25 lat temu. Od tego czasu nieco dopracowałem model.
David

2
Cokolwiek. Ludzie używający Amigi nie mogą być źli.
Jean-François Fabre

W porządku :) W moim przypadku folder Alias ​​JEST na początku ścieżki, ale w każdym razie osobiście nie chcę zastępować wartości domyślnej - moje aliasy zawsze mają różne nazwy. Używam więc „dig2” i „digx” jako aliasów do „dig”, ale nadal mam dostępne „dig” (bez konieczności określania jego folderu). Również +1 dla Amigi :)
roryhewitt

Miłe wspomnienia, nazwa pliku nietoperza została zmieniona na sekwencję uruchamiania :)
Erdinç Çorbacı

5

Rozwijając roryhewitt odpowiedź .

Zaletą używania plików .cmd w porównaniu z DOSKEY jest to, że te „aliasy” są następnie dostępne w innych powłokach, takich jak PowerShell lub WSL (podsystem Windows dla Linuksa).

Jedynym problemem związanym z używaniem tych poleceń w bash jest to, że może to wymagać nieco więcej konfiguracji, ponieważ może być konieczne wykonanie pewnych operacji na ścieżce przed wywołaniem „aliasu”.

np. mam vs.cmd, który jest moim „aliasem” do edycji pliku w Visual Studio

@echo off
if [%1]==[] goto nofiles
start "" "c:\Program Files (x86)\Microsoft Visual Studio 
11.0\Common7\IDE\devenv.exe" /edit %1
goto end
:nofiles
start "" "C:\Program Files (x86)\Microsoft Visual Studio 
11.0\Common7\IDE\devenv.exe" "[PATH TO MY NORMAL SLN]"
:end

Który uruchamia VS (w tym przypadku VS2012 - ale dostosowuje się do gustu) przy użyciu mojego „normalnego” projektu bez podanego pliku, ale po otrzymaniu pliku spróbuje dołączyć do działającego VS, otwierając ten plik „w ramach tego projektu”, zamiast uruchamiać nowa instancja VS.

Aby użyć tego z bash, dodaję dodatkowy poziom pośredni, ponieważ „vs Myfile” nie zawsze działa

alias vs='/usr/bin/run_visual_studio.sh'

Które dostosowuje ścieżki przed wywołaniem vs.cmd

#!/bin/bash
cmd.exe /C 'c:\Windows\System32\vs.cmd' "`wslpath.sh -w -r $1`"

Więc w ten sposób mogę po prostu zrobić

vs SomeFile.txt

W wierszu polecenia, Power Shell lub bash, i otwiera się w moim uruchomionym Visual Studio do edycji (co po prostu oszczędza mój biedny mózg przed koniecznością radzenia sobie z poleceniami VI lub niektórymi takimi, gdy właśnie edytowałem w VS od wielu godzin).


2

To rozwiązanie nie jest trafne, ale w niektórych przypadkach służy celowi.

Najpierw utwórz folder i dodaj go do ścieżki systemowej. Przejdź do pliku wykonywalnego dowolnego programu, dla którego chcesz utworzyć alias. Kliknij prawym przyciskiem myszy i wyślij na pulpit (Utwórz skrót). Zmień nazwę skrótu na dowolny alias, który jest wygodny. Teraz weź skrót i umieść w swoim folderze.

W wierszu polecenia możesz wpisać nazwę skrótu bezpośrednio i możesz mieć otwarty program. Ale z wiersza polecenia musisz dołączyć .lnk i nacisnąć Enter, program zostanie otwarty.


1

Oczywiście nie odpoczywałbym, dopóki nie znajdę najwygodniejszego ze wszystkich rozwiązań. Łącząc bardzo wiele odpowiedzi i tematów w rozległym Internecie, oto, co możesz mieć.

  • Ładuje się automatycznie przy każdym wystąpieniu cmd
  • Nie wymaga słowa kluczowego DOSKEYdla aliasów

Zauważ, że jest to w dużej mierze oparte na odpowiedzi i komentarzach Argyll , zdecydowanie przeczytaj to, aby zrozumieć pojęcia.

Jak to działa?

1) utwórz plik makra z aliasami (lub plik bat / cmd, aby uruchomić także inne rzeczy)
2) zarejestruj go w rejestrze, aby uruchamiał się na każdej instancji cmd
  - możesz także uruchomić go skrótem tylko, jeśli chcesz

To wszystko

%userprofile%/cmd/aliases.mac
;==============================================================================
;= This file is registered via registry to auto load with each instance of cmd.
;================================ general info ================================
;= https://stackoverflow.com/a/59978163/985454  -  how to set it up?
;= https://gist.github.com/postcog/5c8c13f7f66330b493b8  -  example doskey macrofile
;========================= loading with cmd shortcut ==========================
;= create a cmd link with the following target :
;= %comspec% /k "(doskey /macrofile=%userprofile%\cmd\aliases.mac)"

alias=subl %USERPROFILE%\cmd\aliases.mac
hosts=runas /noprofile /savecred /user:QWERTY-XPS9370\administrator "subl C:\Windows\System32\drivers\etc\hosts" > NUL

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

~=cd %USERPROFILE%
cdr=cd c:\repos
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

;============================= :end ============================
;= rem ******************************************************************
;= rem * EOF - Don't remove the following line.  It clears out the ';'
;= rem * macro. We're using it because there is no support for comments
;= rem * in a DOSKEY macro file.
;= rem ******************************************************************
;=

Teraz masz dwie opcje:
a) zarejestruj tylko makrofile
b) użyj zwykłego cmd/batpliku, aby również uruchomić dowolne polecenia
Zmień nazwę na tę, którą chcesz Autorun.

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor] - ręcznie
  Autorun    REG_SZ    doskey /macrofile=%userprofile%\cmd\aliases.mac
  Autorun_    REG_SZ    %USERPROFILE%\cmd\env.cmd
%userprofile%/cmd/cmd-aliases.reg - lub przez plik reg
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"Autorun"="doskey /macrofile=%userprofile%\\cmd\\aliases.mac"
"Autorun_"="%USERPROFILE%\\cmd\\env.cmd"
%userprofile%/cmd/env.cmd nie potrzebujesz tego pliku, jeśli zdecydowałeś się na a) powyżej
:: This file is registered via registry to auto load with each instance of cmd.
:: https://stackoverflow.com/a/59978163/985454

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

:: put other commands here

0

Ponieważ już masz notepad++.exena swojej drodze. Utwórz skrót w tym folderze o nazwie npi wskaż go notepad++.exe.


0

Najpierw możesz utworzyć plik o nazwie np.cmd i umieścić go w folderze, który znajduje się na liście wyszukiwania PATH. Następnie edytuj plik np.cmd jak poniżej:

@echo off
notepad++.exe

0

Jeśli chcesz włączyć aliasy dla poszczególnych katalogów / projektów , spróbuj wykonać następujące czynności:

  1. Najpierw utwórz plik wsadowy, który będzie szukał pliku o nazwie aliasesw bieżącym katalogu i zainicjuje z niego aliasy, nazwijmy gomake-aliases.cmd

    @echo off
    if not exist aliases goto:eof
    echo [Loading aliases...]
    for /f "tokens=1* delims=^=" %%i in (aliases) do (
       echo   %%i ^<^=^> %%j
       doskey %%i=%%j
    )
    doskey aliases=doskey /macros
    echo   --------------------
    echo   aliases ^=^> list  all
    echo   alt+F10 ^=^> clear all
    echo [Done]
    
  2. Następnie utwórz, aliasesgdziekolwiek ich potrzebujesz, używając następującego formatu:

    alias1 = command1
    alias2 = command2
    ...
    

    na przykład:

    b = nmake
    c = nmake clean
    r = nmake rebuild
    
  3. Następnie dodaj lokalizację make-aliases.cmdswojej %PATH%zmiennej, aby obejmowała cały system lub po prostu trzymaj ją w znanym miejscu.

  4. Uruchom go automatycznie cmd.

    • Zdecydowanie odradzam korzystanie HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRunz tego, ponieważ niektóre narzędzia programistyczne uruchamiają skrypt autorun wiele razy na sesję.

    • Jeśli używasz ConEmu można było pójść inną drogą i uruchomić skrypt z zadania startowego ( Settings> Startup> Tasks), na przykład, utworzony wpis o nazwie {MSVC}:

      cmd.exe /k "vcvars64 && make-aliases",

      a następnie zarejestrowałem go w menu kontekstowym Eksploratora za pomocą Settings> za Integration>pomocą Command: {MSVC} -cur_console:n, dzięki czemu mogę teraz kliknąć folder prawym przyciskiem myszy i uruchomić w nim monit programisty VS z moim aliaseszaładowanym automatycznie, jeśli tak się dzieje w tym folderze.

      Bez ConEmu możesz po prostu utworzyć skrót do cmd.exeodpowiedniej komendy lub po prostu uruchomić make-aliasesręcznie za każdym razem.

Jeśli zdarzy ci się zapomnieć o swoich aliasach, użyj aliasesmakra, a jeśli coś pójdzie nie tak, po prostu zresetuj bieżącą sesję, naciskając Alt+ F10, który jest wbudowanym poleceniem cmd.


-4

Użycie doskey jest właściwym sposobem, aby to zrobić, ale resetuje się po zamknięciu okna wiersza polecenia. Musisz dodać tę linię do czegoś w rodzaju odpowiednika .bashrc. Zrobiłem więc:

  1. Dodaj „C: \ Program Files (x86) \ Notepad ++” do zmiennej ścieżki systemowej
  2. Zrób kopię notatnika ++. Exe (oczywiście w tym samym folderze) i zmień nazwę na np.exe

Działa dobrze!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.