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

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

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

谢谢。


当前回答

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,参数

其他回答

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

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

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

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 $*
...

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

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

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

为了补充josh的回答,

您可以通过以下步骤使别名持久,

用DOSKEY命令创建一个.bat或.cmd文件。 运行regedit,进入HKEY_CURRENT_USER\Software\Microsoft\Command Processor 添加字符串值条目,名称为AutoRun和.bat/的完整路径。cmd文件。 例如,%USERPROFILE%\alias。在命令cmd中,用%USERPROFILE%替换路径的初始段对于多台机器之间的同步很有用。

这样,每次运行cmd时,都会加载别名。

对于Windows 10或Windows 11,请将该条目添加到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor中。

(对于Windows 11,还要注意默认情况下“终端应用程序”指向PowerShell。搜索“cmd”命令提示符。)

为了完整起见,这里有一个模板来说明可能有用的别名类型。

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

请注意,$*语法适用于目录字符串之后,也适用于带有参数的可执行文件之后。因此,在上面的示例中,用户定义的命令dropbox research指向与research相同的目录。 正如Rivenfall所指出的,包含一个允许方便地编辑别名的命令是一个好主意。cmd文件。参见上面的别名。如果您在一个cmd会话中,输入cmd重新启动cmd并重新加载别名。cmd文件。


当我在互联网上搜索这个问题的答案时,不知怎么的,讨论要么只集中在持久性上,要么只集中在DOSKEY的某些用法上。我希望在这里有人能从这两方面受益!


这里有一个.reg文件来帮助你安装别名。cmd。现在将它设置为上面建议的dropbox文件夹的示例。

Windows Registry Editor Version 5.00

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

对于单用户应用程序,上面的方法就可以了。不过,也有一些情况需要检查是否存在别名。CMD首先存在于注册表项中。参见下面的示例。

C:\Users\Public\init.CMD文件承载潜在的跨用户配置:

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

注册表项应相应更新为C:\Users\Public\init.CMD或使用.reg文件:

Windows Registry Editor Version 5.00

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

由于doskey不适用于PowerShell或Windows 10终端应用程序,我将分享这个解决方案。

演示如何在Windows 10中创建别名。输入参数的别名:

com=D:\website_development\laragon\bin\php\php-8.1.2-Win32-vs16-x64/php8 D:\website_development\laragon\bin\composer/composer.phar

过程:

在C:驱动器中创建一个名为scripts的文件夹。 在scripts文件夹中,创建com.bat 打开com.bat 使用特定PHP版本运行composer命令的示例: @echo掉 设置路径=D:\website_development\laragon\bin\php\php-8.1.2- win32 -vs16-x64/php8 设置参数= % * 设置命令=%path% %args% 命令% % 保存它 点击“开始” 搜索“编辑环境变量” 点击“高级” 将“scripts”目录添加到PATH。

现在您可以作为该命令的别名运行该命令。

注意:如果你想添加一个新的别名,只需创建一个新的bat文件。