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

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

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

谢谢。


当前回答

假设您将notepad++.exe添加到PATH变量中,这就非常简单了。 用以下代码在System32文件夹中创建一个名为np.bat的文件:

@echo off
call notepad++.exe %*

%*将您赋予np命令的所有参数传递给notepad++.exe命令。

编辑: 您需要管理员权限才能将文件保存到System32文件夹,这对我来说有点不可靠。我只是在其他地方创建了该文件,并手动将其移动到System32。

其他回答

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

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

从运行提示符,您可以直接键入快捷方式的名称,您可以有程序为您打开。但在命令提示符中,需要追加.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 $*
...

此外,您还可以创建别名。在您的路径(例如C:\Windows)中使用命令

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

一旦你这样做了,你可以这样做:

alias nameOfYourAlias commands to run 

然后你可以输入命令行

nameOfYourAlias 

这将执行

commands to run 

但对我来说,最好的方法是添加一个程序的路径。

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

现在我崇高地奔跑

subl index.html

非常简单的自定义别名:

在系统的任何地方创建一个专门用于别名的新文件夹。创建一个新文件,命名为你想命名的别名,扩展名为.cmd。将所有命令写入文件,例如

cd /D D:\Folder
g++ -o run something.cpp

复制文件夹的路径。

>系统>关于>系统高级设置>环境变量…

现在在System variables部分中找到Path变量。单击它一次,然后单击Edit。现在单击New并粘贴复制的文本。

单击“确定”、“确定”和“确定”。重新启动Powershell/cmd提示符,瞧,您得到了持久的别名!您也可以使用相同的文件夹来创建其他别名,而无需再次更改Path变量!

扩展罗里休伊特的回答。

在DOSKEY上使用.cmd文件的一个优势是,这些“别名”可以在其他shell中使用,如PowerShell或WSL (Linux的Windows子系统)。

在bash中使用这些命令的唯一缺点是可能需要更多的设置,因为在调用“别名”之前可能需要进行一些路径操作。

我有vs.cmd,这是我在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

它会点燃VS(在这种情况下VS2012 -但调整口味)使用我的“正常”项目,没有文件,但当给出一个文件时,将试图附加到一个运行的VS打开该文件“在该项目中”,而不是开始一个新的VS实例。

为了从bash使用这个,我然后添加了一个额外的间接级别,因为“vs Myfile”并不总是工作

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

在调用vs.cmd之前调整路径

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

这样我就可以

vs SomeFile.txt

在命令提示符中,Power Shell或bash,它在我运行的Visual Studio中打开进行编辑(当我在VS中编辑了几个小时时,这只是让我可怜的大脑不必处理VI命令或其他类似的命令)。