在Windows命令提示符别名在Windows命令提示符别名(Aliases in Windows

2019-05-08 23:08发布

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

现在,在命令提示符下, notepad++.exe filename.txt打开filename.txt 。 但我想做到这np filename.txt打开该文件。

我尝试使用DOSKEY np=notepad++ 。 但它仅仅是为大家带来最前沿已经打开的记事本+ +,而无需打开该文件。 我怎样才能使它打开文件?

谢谢。

Answer 1:

为了增加约什的答案,

你可以做别名(ES) 持续下面的步骤,

  1. 创建一个.bat或.cmd文件,您的DOSKEY命令。
  2. 运行注册表编辑器并转到HKEY_CURRENT_USER\Software\Microsoft\Command Processor
  3. 添加名为字符串值项AutoRun和你的.bat / .cmd文件的完整路径。

    例如, %USERPROFILE%\alias.cmd ,替换与该路径的初始段%USERPROFILE%为多台机器之间同步是有用的。

这样一来,每次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指出,这是一个好主意,包括一个命令,允许为方便编辑alias.cmd文件。 见alias以上。 如果你是在一个cmd会话中,输入cmd重启cmd并重新加载alias.cmd文件。

当我在网上搜索了一个问题的答案,不知何故讨论要么专注于持续性或只只DOSKEY的一些使用。 我希望有人会从这两方面来这里共同受益!


这里有一个.reg文件来帮助您安装alias.cmd 。 现在我们设置为例收存箱文件夹上面建议。

Windows Registry Editor Version 5.00

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


Answer 2:

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

doskey np=notepad++.exe $*

编辑 (回应Romonov的评论)问: 有什么办法可以让命令提示符记得,所以我没有这个,我打开一个新的命令提示符下运行每次?

doskey是命令处理器(例如,CMD.EXE)解释的文本命令,它无法知道一些其他进程修改状态(尤其是一个尚未开始)。

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

cmd.exe /K env.cmd

env.cmd:

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


Answer 3:

如果你只是进行一些简单的命令,你可以按照下列步骤操作:

  1. 创建一个名为文件夹C:\别名
  2. 添加C:\别名到您的路径(因此,任何在它的文件将被每次发现)
  3. C语言创建一个.bat文件:为每个要别名\别名

或许矫枉过正,但不像从@Argyll的(否则优秀)的答案,这解决了每次这种负载的问题。

举例来说,我有一个名为dig2.bat在它下面的文件:

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

您的NP文件只会有以下几点:

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

FWIW,我有我的C约20别名(独立.bat文件):\别名目录 - 我只是在必要时创建新的。 也许不是最巧妙的,但它工作正常。

更新 :每从用户@Mav一个很好的建议,它甚至更好使用%*,而不是1%,这样你就可以将多个文件到命令,例如:

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

这样一来,你可以这样做:

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

它会打开所有3个文件。



Answer 4:

既然你添加记事本++。exe文件到您的PATH变量,这是额外的简单。 创建一个名为您的System32文件夹中文件np.bat用下面的代码:

@echo off
call notepad++.exe %*

%*沿着你给的所有参数传递np命令到notepad++.exe的命令。

编辑:您将需要管理员权限将文件保存到System32文件夹中,这是一个有点靠不住的我。 我刚刚创建的文件别的地方,它手动移动到System32中。



Answer 5:

或者您可以使用cmder它可以让你添加别名,就像Linux的:

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


Answer 6:

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

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

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

alias nameOfYourAlias commands to run 

之后,你可以在comman行中键入

nameOfYourAlias 

这将执行

commands to run 

但对我来说最好的办法就是加入了PROGRAMM的路径。

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

现在我跑崇高的

subl index.html


Answer 7:

控制台别名在Windows 10

要定义控制台的别名,使用Doskey.exe创建一个宏,或者使用AddConsoleAlias功能。

DOSKEY

doskey test=cd \a_very_long_path\test

也传递参数加上$*底: doskey short=longname $*

AddConsoleAlias

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

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



Answer 8:

你想通过简单的输入来创建一个别名:

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


Answer 9:

事实上,我会去你一筹,让你在,因为我习惯在Amiga上进行编程,我用一个小技巧。 在您使用任何新的系统,无论是个人或专业,第一步是创建两个文件夹:C:\ BIN和C:\批次。 然后修改路径语句在订单C开始把两个:\批; C:\ BIN;路径的其余部分。

已经做了,如果你有,你需要访问只需将它们复制到C小遥遥实用程序:\ bin文件夹,他们是在你的路径。 \ batch文件夹中的文件C前后的路会发现:暂时覆盖这些任务,你可以用相同的名称作为可执行文件到C添加一个批处理文件\ BIN。 它应该包括任何你可能永远需要做的。

当然,这些天的规范正确的方式做,这将是创建一个符号交界处的文件,但同样的原则也适用。 有额外的奖励,以及一点点额外的。 如果你想要把东西在的东西已经在路径冲突,把它在C系统:\ BIN或C:\批处理文件夹就干脆越俎代庖原-让你暂时或永久覆盖的东西,或重命名的东西你更舒适的名字 - 实际上不改变原来的。



Answer 10:

扩展在roryhewitt答案。

使用.cmd文件的过DOSKEY一个优点是,这些“别名”然后在其他炮弹如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再加入额外的间接水平,因为“与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

在一个命令提示符下,电源外壳或bash和它在我运行Visual Studio进行编辑(这只是节省了我的大脑穷人不必处理VI命令或一些这样的,当我刚刚在VS编辑为小时)打开。



Answer 11:

该解决方案是不是一个恰当的一个,但在某些场合供应的目的。

首先创建一个文件夹并将其添加到您的系统路径。 转到您想要为其创建别名任何程序的可执行文件。 右击并发送到桌面(创建快捷方式)。 重命名该快捷方式到任何别名舒适。 现在,把你的文件夹中的快捷方式和地点。

从运行的提示,你可以直接键入该快捷方式的名称,你可以有计划为你打开。 但是,从命令提示符下,你需要追加.LNK和回车键,该程序将被打开。



Answer 12:

既然你已经有了notepad++.exe在您的路径。 创建该文件夹命名为快捷np ,它指向notepad++.exe



Answer 13:

首先,你可以创建一个名为np.cmd文件,并把它夹在哪个路径搜索列表英寸 然后,编辑np.cmd文件,如下:

@echo off
notepad++.exe


Answer 14:

使用DOSKEY是这样做的正确的方式,但在关闭命令提示符窗口将其重置。 你需要该行添加到类似的.bashrc等同。 所以,我做了以下内容:

  1. 加入 “C:\ Program Files文件(x86)的\记事本+ +” 系统路径变量
  2. 让记事本的exe ++副本(在同一个文件夹中,当然),并改名为np.exe

工作就好了!



文章来源: Aliases in Windows command prompt