Bí danh trong dấu nhắc lệnh của Windows


358

Tôi đã thêm vào notepad++.execác biến Đường dẫn trong Môi trường.

Bây giờ trong dấu nhắc lệnh, notepad++.exe filename.txtmở filename.txt. Nhưng tôi muốn làm chỉ np filename.txtđể mở tập tin.

Tôi đã thử sử dụng DOSKEY np=notepad++. Nhưng nó chỉ được đưa lên hàng đầu một notepad ++ đã mở mà không cần mở tệp. Làm thế nào tôi có thể làm cho nó mở tập tin?

Cảm ơn.


2
Thay đổi tên thực thi thành bất cứ điều gì bạn muốn. Bạn có thể làm điều này từ File Explorer!
IgorGanapolsky

Câu trả lời:


442

Để thêm vào câu trả lời của josh,

bạn có thể làm cho bí danh tồn tại theo các bước sau,

  1. Tạo một tệp .bat hoặc .cmd bằng các DOSKEYlệnh của bạn .
  2. Chạy regedit và đi đến HKEY_CURRENT_USER\Software\Microsoft\Command Processor
  3. Thêm mục nhập Giá trị chuỗi với tên AutoRunvà đường dẫn đầy đủ của tệp .bat / .cmd của bạn.

    Ví dụ, %USERPROFILE%\alias.cmdthay thế đoạn ban đầu của đường dẫn bằng %USERPROFILE%hữu ích cho việc đồng bộ hóa giữa nhiều máy.

Bằng cách này, mỗi khi cmd được chạy, các bí danh được tải.

Đối với Windows 10 , hãy thêm mục vào HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processorthay thế.

Để hoàn thiện, đây là một mẫu để minh họa loại bí danh người ta có thể thấy hữu ích.

@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\

  • Lưu ý rằng $*cú pháp hoạt động sau một chuỗi thư mục cũng như một tệp thực thi có trong các đối số. Vì vậy, trong ví dụ trên, lệnh do người dùng định nghĩa dropbox researchtrỏ đến cùng thư mục với research.
  • Như Rivenfall đã chỉ ra, nên bao gồm một lệnh cho phép chỉnh sửa alias.cmdtệp thuận tiện . Xem aliasở trên. Nếu bạn đang ở trong một phiên cmd, hãy nhập cmdđể khởi động lại cmd và tải lại alias.cmdtệp.

Khi tôi tìm kiếm trên internet câu trả lời cho câu hỏi, bằng cách nào đó, các cuộc thảo luận chỉ tập trung vào sự kiên trì hoặc chỉ sử dụng một số DOSKEY. Tôi hy vọng ai đó sẽ được hưởng lợi từ hai khía cạnh này được cùng nhau ở đây!


Đây là một .regtập tin để giúp bạn cài đặt alias.cmd. Bây giờ, nó được đặt làm ví dụ cho thư mục dropbox như được đề xuất ở trên.

Windows Registry Editor Version 5.00

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

Đối với các ứng dụng người dùng đơn, ở trên sẽ làm. Tuy nhiên, có những tình huống cần thiết để kiểm tra xem có alias.cmdtồn tại đầu tiên trong khóa đăng ký hay không. Xem ví dụ dưới đây.

Trong một C:\Users\Public\init.cmdtệp lưu trữ có khả năng cấu hình người dùng chéo:

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

Khóa đăng ký phải được cập nhật tương ứng với C:\Users\Public\init.cmdhoặc, sử dụng .regtệp:

Windows Registry Editor Version 5.00

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

2
chính xác những gì tôi cần; hoạt động hoàn hảo; Tôi khuyên bạn nên thêm một doskey để thực sự chỉnh sửa tệp
env.cmd

8
Điều này là ngây thơ và không hiệu quả. Tệp bó autorun sẽ được chạy cho mọi phiên bản của cmd.exe, bao gồm cả systemhàm. Nó cần phải thoát nếu một biến nhất định (ví dụ AUTORUN) được xác định. set AUTORUN=1Mặt khác, thiết lập môi trường ( ) và thiết lập doskey trong một lần sử dụng tùy chọn macrofile thay vì chạy doskey.exe để xác định từng bí danh.
Eryk CN

4
@eryksun bạn có thể đăng hoặc liên kết đến một ví dụ ít ngây thơ hơn không? Tôi biết cách thoát nếu autorun được xác định, nhưng bối rối về cách đặt hoặc hủy đặt nó ở vị trí đầu tiên mà không chạy CMD.
matt wilkie

3
Những gì thay thế cho HKEY_CURRENT_USER\Software\Microsoft\Command Processorngày nay? Tôi dường như không thể tìm thấy con đường đó trong regedit nữa
ngày

4
Tôi thích điều này. Một tùy chọn tương tự là đặt trong autorun : doskey /macrofile="%USERPROFILE%\alias". Và tiếp theo, đặt các bí danh trong tệp 'bí danh', không có phần 'doskey'. Một giải pháp mà quản trị viên có thể sử dụng để hạn chế các định nghĩa tự động chạy theo bí danh mà người dùng có thể tự tạo. Ngăn chặn người dùng tự động chạy các thứ khác.
user1708042

237

Bạn cần phải vượt qua các tham số, hãy thử điều này:

doskey np=notepad++.exe $*

Chỉnh sửa (trả lời nhận xét của Romonov) H: Có cách nào tôi có thể khiến dấu nhắc lệnh nhớ để tôi không phải chạy lệnh này mỗi khi tôi mở dấu nhắc lệnh mới không?

doskey là một lệnh văn bản được bộ xử lý lệnh (ví dụ cmd.exe) diễn giải, nó không thể biết để sửa đổi trạng thái trong một số quy trình khác (đặc biệt là một quy trình chưa bắt đầu).

Những người sử dụng doskeyđể thiết lập môi trường shell lệnh ban đầu của họ thường sử dụng /Ktùy chọn (thường thông qua phím tắt) để chạy một tệp bó thực hiện tất cả các thiết lập chung (như tiêu đề, màu sắc của cửa sổ, v.v.).

cmd.exe /K env.cmd

env.cmd:

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

7
Điều này hoạt động cho dấu nhắc lệnh trong đó tôi chạy lệnh này. Nhưng nếu tôi đóng cửa sổ và mở một dấu nhắc lệnh mới. Nó không nhớ lệnh np. Có cách nào tôi có thể làm cho dấu nhắc lệnh nhớ để tôi không phải chạy lệnh này mỗi khi tôi mở dấu nhắc lệnh mới không?
Romonov

5
Hành vi tương tự mà không thay đổi ĐƯỜNG:doskey npp="C:\Program Files (x86)\Notepad++\notepad++.exe" $*
Matt Bierner

5
doskey.exe không có gì để làm với cmd.exe. Nó đặt bí danh cho hiện tại hoặc một tệp thực thi được chỉ định trong cửa sổ giao diện điều khiển, được lưu trữ bởi một thể hiện của conhost.exe. Các bí danh của bàn điều khiển được khớp và thay thế ở đầu một dòng đầu vào trước khi ứng dụng khách (ví dụ cmd.exe hoặc powershell.exe) đọc dòng này. Chúng không thể được sử dụng rộng rãi như các lệnh, ví dụ như không phải trong các tệp bó hoặc được dẫn vào.
Eryk CN

Xin chào, tôi đã sử dụng cái này với cmder để mở phpstorm ... nó mở phpstorm nhưng nó vẫn mở dự án đã mở cuối cùng của tôi chứ không phải thư mục dự án tôi hiện đang ở ... Làm thế nào để tôi mở cái này để mở bất cứ thứ gì tôi đang ở?
PA-GW

113

Nếu bạn chỉ thực hiện một số lệnh đơn giản, bạn có thể làm theo các bước sau:

  1. Tạo một thư mục có tên C: \ Aliases
  2. Thêm C: \ Bí danh vào đường dẫn của bạn (vì vậy mọi tệp trong đó sẽ được tìm thấy mỗi lần)
  3. Tạo tệp .bat trong C: \ Aliases cho mỗi bí danh bạn muốn

Có thể quá mức cần thiết, nhưng không giống như câu trả lời (nếu không xuất sắc) từ @Argyll, điều này giải quyết vấn đề tải này mỗi lần.

Chẳng hạn, tôi có một tệp có tên dig2.bat với phần sau:

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

Tập tin np của bạn sẽ có những điều sau đây:

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

Sau đó, chỉ cần thêm thư mục C: \ Aliases vào biến môi trường PATH của bạn. Nếu bạn đã mở CMD hoặc PowerShell, bạn sẽ cần khởi động lại nó.

FWIW, tôi có khoảng 20 bí danh (các tệp .bat riêng biệt) trong thư mục C: \ Aliases - Tôi chỉ cần tạo các bí danh mới khi cần thiết. Có thể không phải là gọn gàng nhất, nhưng nó hoạt động tốt.

CẬP NHẬT : Mỗi đề xuất tuyệt vời từ người dùng @Mav, tốt hơn nữa là sử dụng % * thay vì % 1 , vì vậy bạn có thể chuyển nhiều tệp cho lệnh, ví dụ:

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

Bằng cách đó, bạn có thể làm điều này:

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

và nó sẽ mở cả 3 tập tin.


4
Cá nhân tôi sử dụng phương pháp này trong một thời gian dài. Đây là một phương pháp rất dễ thực hiện nếu ai đó không muốn tiếp tục doskey.
bantya

4
Một lợi thế của phương pháp này (các tệp cmd là bí danh) là nếu bạn sử dụng WSL (hệ thống con Linux cho Windows) thì các cmds này cũng có sẵn trong bash. Mặc dù thường xuyên (tùy thuộc vào những gì bạn đang răng cưa), bạn cần thực hiện một số thao tác đường dẫn bằng cách sử dụng wslpath.sh hoặc tương tự trước khi bạn gọi tệp cmd
Alex Perry

1
@roryhewitt Ồ vâng, chỉ định đường dẫn đầy đủ đến ls.exechắc chắn sẽ hoạt động. Điểm tốt. Tôi đã sử dụng thay thế doskey mặc dù.
Qwerty

4
Có thể muốn thêm% * thay vì% 1 để vượt qua tất cả các đối số trái ngược với chỉ đối số đầu tiên.
Mav

1
Tuyệt quá! Bây giờ tôi có thể có PHP mà không cần cài đặt nó, chỉ cần sử dụng devilbox cho docker và thêmdocker exec --user devilbox dvlbx_php_1 php %*
Alvaro Flaño Larrondo

38

Ngoài ra, bạn có thể sử dụng cmdercho phép bạn thêm bí danh giống như linux:

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

12
Mặc dù điều này không trả lời câu hỏi. Điều quan trọng đối với những người từ nền tảng Linux là phải hiểu rằng có một giải pháp thay thế cho Windows CMD có thể phù hợp với nhu cầu tức thời của họ.
Joseph Casey

1
Có khá nhiều lựa chọn thay thế. Git cho Windows đi kèm với một, "git-bash".
chăn bò

Để thêm bí danh trong Cmder, xem ví dụ ở đây .
jdhao

Xin chào, tôi đã sử dụng cái này với cmder để mở phpstorm ... nó mở phpstorm nhưng nó vẫn mở dự án đã mở cuối cùng của tôi chứ không phải thư mục dự án tôi hiện đang ở ... Làm thế nào để tôi mở cái này để mở bất cứ thứ gì tôi đang ở?
PA-GW

29

Cho rằng bạn đã thêm notepad ++. Exe vào biến PATH của bạn, thật đơn giản. Tạo một tệp trong thư mục System32 của bạn được gọi np.batvới mã sau:

@echo off
call notepad++.exe %*

Các %*đường chuyền dọc theo tất cả các đối số bạn đưa ra nplệnh cho notepad++.exelệnh.

EDIT: Bạn sẽ cần quyền truy cập của quản trị viên để lưu các tệp vào thư mục System32, điều này hơi khó khăn với tôi. Tôi vừa tạo tập tin ở một nơi khác và chuyển nó sang System32 bằng tay.


Tôi đã có một thư mục chứa các tệp tiện ích .bat nhỏ vì vậy tôi thích điều này hơn là làm hỏng sổ đăng ký hoặc tệp .cmd
Rich

1
Tôi vừa thử nó và nó không hoạt động giống hệt như gọi trực tiếp Notepad ++. Nếu bạn sử dụng ký tự đại diện trong tên tệp bạn đang mở và gọi trực tiếp NPP, nó sẽ hoạt động, ví dụ: bạn có thể làm "notepad++.exe *somefiles*"và các tệp phù hợp sẽ mở. Khi tôi thử điều đó với tệp bó được đề xuất của bạn, nghĩa là "npp *somefiles*", nó đã mở một thể hiện NPP nhưng không mở các tệp tôi đã truyền. Có suy nghĩ gì không?
SSilk

14

Ngoài ra, bạn có thể tạo một bí danh.cmd trong đường dẫn của mình (ví dụ: C: \ Windows) bằng lệnh

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

Khi bạn làm điều đó, bạn có thể làm một cái gì đó như thế này:

alias nameOfYourAlias commands to run 

Và sau đó bạn có thể gõ dòng comman

nameOfYourAlias 

cái này sẽ thực thi

commands to run 

NHƯNG cách tốt nhất đối với tôi chỉ là thêm đường dẫn của một chương trình.

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

Và bây giờ tôi chạy siêu phàm như

subl index.html

9

Bảng điều khiển bí danh trong Windows 10

Để xác định bí danh bàn điều khiển, hãy sử dụng Doskey.exeđể tạo macro hoặc sử dụngAddConsoleAlias hàm.

liều

doskey test=cd \a_very_long_path\test

Để cũng vượt qua các tham số thêm $*vào cuối:doskey short=longname $*

AddConsoleAlias

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

Biết thêm thông tin ở đây điều khiển biệt hiệu , Doskey , thông số


7

Bạn muốn tạo một bí danh chỉ bằng cách gõ:

c:\>alias kgs kubectl get svc

Created alias for kgs=kubectl get svc

Và sử dụng bí danh như sau:

c:\>kgs alfresco-svc

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

Chỉ cần thêm các alias.battập tin sau vào đường dẫn của bạn. Nó chỉ đơn giản là tạo các tệp bó bổ sung trong cùng thư mục.

  @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%

Một ví dụ về tệp bó được tạo này được gọi kgs.batlà:

@echo off 
echo. 
kubectl get svc %* 

6

Trên thực tế, tôi sẽ giúp bạn hiểu rõ hơn và cho bạn biết một kỹ thuật nhỏ mà tôi đã sử dụng từ khi tôi sử dụng để lập trình trên Amiga. Trên bất kỳ hệ thống mới nào bạn sử dụng, dù là cá nhân hay chuyên nghiệp, bước một là tạo hai thư mục: C:\BINC:\BATCH. Sau đó sửa đổi câu lệnh đường dẫn của bạn để đặt cả hai ở đầu theo thứ tựC:\BATCH;C:\BIN;[rest of path] .

Đã làm điều đó, nếu bạn có ít tiện ích ngoài luồng mà bạn cần truy cập chỉ cần sao chép chúng vào C:\BINthư mục và chúng nằm trong đường dẫn của bạn. Để tạm thời ghi đè các bài tập này, bạn có thể thêm một tệp bó có cùng tên với tệp thực thi vào C:\BATCHthư mục và đường dẫn sẽ tìm thấy nó trước tệp trong C: \ BIN. Nó sẽ bao gồm bất cứ điều gì bạn có thể cần phải làm.

Tất nhiên, ngày nay, cách chính xác để làm điều này sẽ là tạo ra một điểm nối tượng trưng cho tệp, nhưng áp dụng nguyên tắc tương tự. Có một chút tiền thưởng thêm vào là tốt. Nếu bạn muốn đặt một cái gì đó trong hệ thống đó mâu thuẫn với một cái gì đó đã có trong đường dẫn, đặt nó trong C:\BINhoặc C:\Batchthư mục sẽ đơn giản trước empt bản gốc - cho phép bạn ghi đè lên những thứ tạm thời hoặc vĩnh viễn, hoặc những thứ đổi tên để tên bạn thoải mái hơn với - mà không thực sự thay đổi bản gốc.


1
Đây là câu trả lời tương tự như roryhewitt.
Jean-François Fabre

2
Thật ra, không, không phải vậy. Tôi nói 'một cái tốt hơn'. Tùy chọn tích hợp để ghi đè hoặc ghi đè một ghi đè đã có sẵn. Sự phân tách đơn giản của các tệp thực thi từ các tệp bó. Và giải pháp của rory không chỉ định vị trí trong đường dẫn mà thư mục sẽ đi. Do đó, hầu hết sẽ đặt nó ở cuối con đường. Ở cuối thay vì bắt đầu, giải pháp của anh ta sẽ không cho phép ghi đè ở vị trí đầu tiên. Giải pháp của Rory gần giống như giải pháp mà bản thân tôi đã tìm đến - 25 năm trước. Tôi đã tinh chỉnh mô hình một chút kể từ đó.
David

2
Bất cứ điều gì. Mọi người sử dụng Amiga không thể xấu được.
Jean-François Fabre

Đủ công bằng :) Trong trường hợp của tôi, thư mục Aliases IS ở đầu đường dẫn, nhưng trong mọi trường hợp, cá nhân tôi không muốn ghi đè mặc định - bí danh của tôi luôn có các tên khác nhau. Vì vậy, tôi sử dụng 'dig2' và 'digx' làm bí danh để 'đào', nhưng vẫn có sẵn 'đào' (mà không cần chỉ định thư mục của nó). Đồng thời +1 cho Amiga :)
roryhewitt

Những kỷ niệm đẹp, tôi cũng đã đổi tên tập tin bat thành chuỗi khởi động :)
Erdinç orbacı

5

Mở rộng trên roryhewitt câu trả lời .

Một lợi thế của việc sử dụng các tệp .cmd trên DOSKEY là các "bí danh" này sau đó có sẵn trong các shell khác như PowerShell hoặc WSL (hệ thống con Windows cho Linux).

Gotcha duy nhất sử dụng các lệnh này trong bash là nó có thể cần thiết lập thêm một chút vì bạn có thể cần thực hiện một số thao tác đường dẫn trước khi gọi "bí danh" của mình.

ví dụ: tôi có vs.cmd là "bí danh" để chỉnh sửa tệp trong 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

Điều này kích hoạt VS (trong trường hợp này là VS2012 - nhưng điều chỉnh theo sở thích) bằng cách sử dụng dự án "bình thường" của tôi mà không có tệp nào được cung cấp nhưng khi được cung cấp, tệp sẽ cố gắn vào tệp VS đang chạy mở "trong dự án đó" thay vì bắt đầu ví dụ mới của VS.

Để sử dụng điều này từ bash, sau đó tôi thêm một mức độ gián tiếp vì "vs Myfile" sẽ không hoạt động

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

Mà điều chỉnh các đường dẫn trước khi gọi vscmd

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

Vì vậy, cách này tôi có thể làm

vs SomeFile.txt

Trong một dấu nhắc lệnh, Power Shell hoặc bash và nó sẽ mở trong Visual Studio đang chạy của tôi để chỉnh sửa (điều này chỉ giúp bộ não kém của tôi khỏi phải xử lý các lệnh VI hoặc một số như vậy khi tôi vừa chỉnh sửa trong VS hàng giờ).


2

Giải pháp này không phải là một apt, nhưng phục vụ mục đích trong một số trường hợp.

Đầu tiên tạo một thư mục và thêm nó vào đường dẫn hệ thống của bạn. Đi đến thực thi của bất kỳ chương trình nào bạn muốn tạo bí danh cho. Nhấp chuột phải và gửi đến Desktop (Tạo Shortcut). Đổi tên phím tắt thành bất kỳ tên bí danh nào là thoải mái. Bây giờ, đi đường tắt và đặt trong thư mục của bạn.

Từ dấu nhắc chạy, bạn có thể nhập tên phím tắt trực tiếp và bạn có thể mở chương trình cho bạn. Nhưng từ dấu nhắc lệnh, bạn cần nối thêm .lnk và nhấn enter, chương trình sẽ được mở.


1

Đương nhiên, tôi sẽ không nghỉ ngơi cho đến khi tôi có giải pháp thuận tiện nhất. Kết hợp rất nhiều câu trả lời và chủ đề trên internet rộng lớn, đây là những gì bạn có thể có.

  • Tải tự động với mọi phiên bản của cmd
  • Không yêu cầu từ khóa DOSKEYcho bí danh

Lưu ý rằng điều này phần lớn dựa trên câu trả lời và nhận xét của Argyll , chắc chắn đọc nó để hiểu các khái niệm.

Làm thế nào nó hoạt động?

1) tạo một tệp macro có bí danh (hoặc tệp bat / cmd để chạy các thứ khác)
2) đăng ký nó trong Registry để chạy trên mỗi phiên bản của cmd
  - bạn cũng có thể chạy nó qua phím tắt chỉ khi bạn muốn

Đó là tất cả

%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 ******************************************************************
;=

Bây giờ bạn có hai tùy chọn:
a) chỉ đăng ký macrofile
b) sử dụng cmd/battệp thông thường để chạy các lệnh tùy ý
Đổi tên cái bạn muốn Autorun.

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor] - thủ công
  Autorun    REG_SZ    doskey /macrofile=%userprofile%\cmd\aliases.mac
  Autorun_    REG_SZ    %USERPROFILE%\cmd\env.cmd
%userprofile%/cmd/cmd-aliases.reg - hoặc thông qua tập tin 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 bạn không cần tập tin này nếu bạn quyết định cho một) ở trên
:: 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

Vì bạn đã có notepad++.exetrong con đường của bạn. Tạo một lối tắt trong thư mục có tên npvà trỏ nó vào notepad++.exe.


0

Đầu tiên, bạn có thể tạo một tệp có tên np.cmd và đặt nó vào thư mục trong danh sách tìm kiếm PATH. Sau đó, chỉnh sửa tệp np.cmd như dưới đây:

@echo off
notepad++.exe

0

Nếu bạn muốn bật bí danh trên cơ sở từng thư mục / mỗi dự án , hãy thử cách sau:

  1. Đầu tiên, tạo một tệp bó sẽ tìm một tệp có tên aliasestrong thư mục hiện tại và khởi tạo bí danh từ nó, hãy gọi nómake-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. Sau đó, tạo aliasesbất cứ nơi nào bạn cần bằng cách sử dụng định dạng sau:

    alias1 = command1
    alias2 = command2
    ...
    

    ví dụ:

    b = nmake
    c = nmake clean
    r = nmake rebuild
    
  3. Sau đó, thêm vị trí của biến make-aliases.cmdcủa bạn %PATH%để làm cho nó toàn hệ thống hoặc chỉ giữ nó ở một nơi đã biết.

  4. Làm cho nó bắt đầu tự động với cmd.

    • Tôi chắc chắn sẽ khuyên không nên sử dụng HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRuncho việc này, bởi vì một số công cụ phát triển sẽ kích hoạt tập lệnh tự động chạy nhiều lần trong mỗi phiên.

    • Nếu bạn sử dụng ConEmu bạn có thể đi theo con đường khác và bắt đầu kịch bản từ nhiệm vụ khởi động ( Settings> Startup> Tasks), ví dụ, tôi tạo ra một mục gọi là{MSVC} :

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

      và sau đó đăng ký nó trong menu ngữ cảnh Explorer thông qua Settings> Integration>với Command: {MSVC} -cur_console:n, để bây giờ tôi có thể nhấp chuột phải vào một thư mục và khởi chạy một dấu nhắc nhà phát triển VS bên trong nó vớialiases tải tự động , nếu chúng nằm trong thư mục đó.

      Nếu không có ConEmu, bạn có thể chỉ muốn tạo một lối tắt đến cmd.exevới lệnh tương ứng hoặc chỉ đơn giản là chạy make-aliasesthủ công mỗi lần.

Nếu bạn tình cờ quên bí danh của mình, hãy sử dụng aliasesmacro và nếu có gì sai, chỉ cần đặt lại phiên hiện tại bằng cách nhấn Alt+ F10, đây là lệnh tích hợp sẵn cmd.


-4

Sử dụng doskey là cách đúng đắn để làm điều này, nhưng nó đặt lại khi cửa sổ Dấu nhắc Lệnh được đóng. Bạn cần thêm dòng đó vào một cái gì đó như .bashrc tương đương. Vì vậy, tôi đã làm như sau:

  1. Thêm "C: \ Chương trình tệp (x86) \ Notepad ++" vào biến đường dẫn hệ thống
  2. Tạo một bản sao của notepad ++. Exe (trong cùng một thư mục) và đổi tên nó thành np.exe

Hoạt động tốt!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.