我已经在环境变量的路径中添加了notepad++.exe。

现在在命令提示符中,notepad++.exe filename.txt打开filename.txt。但我想用np filename。txt来打开文件。

我尝试使用DOSKEY np=notepad++。但它只是把一个已经打开的notepad++放在前面,而不打开文件。我怎样才能让它打开文件呢?

谢谢。


当前回答

或者你也可以使用cder,它可以让你像linux一样添加别名:

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

其他回答

你要创建一个别名,只需输入:

c:\>alias kgs kubectl get svc

Created alias for kgs=kubectl get svc

并使用别名如下:

c:\>kgs alfresco-svc

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

只需将以下alias.bat文件添加到您的路径。它只是在与自身相同的目录中创建额外的批处理文件。

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

创建的批处理文件名为kgs.bat的示例如下:

@echo off 
echo. 
kubectl get svc %* 

这个解决方案并不合适,但在某些情况下是有用的。

首先创建一个文件夹,并将其添加到系统路径中。转到要为其创建别名的任何程序的可执行文件。右击并发送到桌面(创建快捷方式)。将快捷方式重命名为合适的别名。现在,选择快捷方式并放入文件夹中。

从运行提示符,您可以直接键入快捷方式的名称,您可以有程序为您打开。但在命令提示符中,需要追加.lnk并按enter键,程序将被打开。

你需要传递参数,试试这个:

doskey np=notepad++.exe $*

编辑(回应Romonov的评论)Q:有什么方法可以让命令提示符记住,这样我就不必每次打开新的命令提示符时都运行这个了?

Doskey是一个由命令处理器(例如cmd.exe)解释的文本命令,它不能知道在其他进程(特别是还没有启动的进程)中修改状态。

使用doskey设置初始命令shell环境的人通常使用/K选项(通常通过快捷方式)来运行一个批处理文件,该文件执行所有常见的设置(如-设置窗口的标题,颜色等)。

cmd.exe /K env.cmd

env.cmd:

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

使用doskey是正确的方法,但是当命令提示符窗口关闭时,它会重置。您需要将这一行添加到类似.bashrc的等价文件中。所以我做了以下事情:

将“C:\Program Files (x86)\ notepad++”添加到系统路径变量 复制notepad++.exe(当然,在同一个文件夹中),并将其重命名为np.exe

工作得很好!

Windows 10中的控制台别名

要定义控制台别名,请使用Doskey.exe创建宏,或使用AddConsoleAlias函数。

dos命令

doskey test=cd \a_very_long_path\test

还要在最后传递参数:doskey short=longname $*

添加控制台别名

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

更多信息在这里控制台别名,Doskey,参数