我已经在环境变量的路径中添加了notepad++.exe。
现在在命令提示符中,notepad++.exe filename.txt打开filename.txt。但我想用np filename。txt来打开文件。
我尝试使用DOSKEY np=notepad++。但它只是把一个已经打开的notepad++放在前面,而不打开文件。我怎样才能让它打开文件呢?
谢谢。
我已经在环境变量的路径中添加了notepad++.exe。
现在在命令提示符中,notepad++.exe filename.txt打开filename.txt。但我想用np filename。txt来打开文件。
我尝试使用DOSKEY np=notepad++。但它只是把一个已经打开的notepad++放在前面,而不打开文件。我怎样才能让它打开文件呢?
谢谢。
当前回答
如果你只是想要一些简单的命令,你可以按照这些步骤:
创建名为C:\Aliases的文件夹 将C:\ alias添加到路径中(这样每次都会找到其中的任何文件) 在C:\Aliases中为每个你想要的Aliases创建一个.bat文件
也许有点过分,但与@Argyll的回答不同(否则很好),这解决了每次加载的问题。
例如,我有一个名为dig2.bat的文件,其中包含以下内容:
@echo off
echo.
dig +noall +answer %1
你的np文件只会有以下内容:
@echo off
echo.
notepad++.exe %1
然后只需将C:\Aliases文件夹添加到PATH环境变量中。如果您已经打开CMD或PowerShell,则需要重新启动它。
FWIW,我有大约20个别名(单独的.bat文件)在我的C:\ aliases目录-我只是根据需要创建新的。也许不是最简洁的,但效果很好。
更新:根据用户@Mav的一个很好的建议,使用%*比%1更好,这样你就可以将多个文件传递给命令,例如:
@echo off
echo.
notepad++.exe %*
这样,你可以这样做:
np c:\temp\abc.txt c:\temp\def.txt c:\temp\ghi.txt
它会打开所有3个文件。
其他回答
扩展罗里休伊特的回答。
在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命令或其他类似的命令)。
这个解决方案并不合适,但在某些情况下是有用的。
首先创建一个文件夹,并将其添加到系统路径中。转到要为其创建别名的任何程序的可执行文件。右击并发送到桌面(创建快捷方式)。将快捷方式重命名为合适的别名。现在,选择快捷方式并放入文件夹中。
从运行提示符,您可以直接键入快捷方式的名称,您可以有程序为您打开。但在命令提示符中,需要追加.lnk并按enter键,程序将被打开。
使用doskey是正确的方法,但是当命令提示符窗口关闭时,它会重置。您需要将这一行添加到类似.bashrc的等价文件中。所以我做了以下事情:
将“C:\Program Files (x86)\ notepad++”添加到系统路径变量 复制notepad++.exe(当然,在同一个文件夹中),并将其重命名为np.exe
工作得很好!
如果你想在每个目录/每个项目的基础上启用别名,试试下面的方法:
First, create a batch file that will look for a file named aliases in the current directory and initialize aliases from it, let’s call it 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] Then, create aliases wherever you need them using the following format: alias1 = command1 alias2 = command2 ... for example: b = nmake c = nmake clean r = nmake rebuild Then, add the location of make-aliases.cmd to your %PATH% variable to make it system-wide or just keep it in a known place. Make it start automatically with cmd. I would definitely advise against using HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun for this, because some development tools would trigger the autorun script multiple times per session. If you use ConEmu you could go another way and start the script from the startup task (Settings > Startup > Tasks), for example, I created an entry called {MSVC}: cmd.exe /k "vcvars64 && make-aliases", and then registered it in Explorer context menu via Settings > Integration> with Command: {MSVC} -cur_console:n, so that now I can right-click a folder and launch a VS developer prompt inside it with my aliases loaded automatically, if they happen to be in that folder. Without ConEmu, you may just want to create a shortcut to cmd.exe with the corresponding command or simply run make-aliases manually every time.
如果你碰巧忘记了你的别名,使用aliases宏,如果出现任何问题,只需按Alt+F10重置当前会话,这是cmd中的内置命令。
如果你只是想要一些简单的命令,你可以按照这些步骤:
创建名为C:\Aliases的文件夹 将C:\ alias添加到路径中(这样每次都会找到其中的任何文件) 在C:\Aliases中为每个你想要的Aliases创建一个.bat文件
也许有点过分,但与@Argyll的回答不同(否则很好),这解决了每次加载的问题。
例如,我有一个名为dig2.bat的文件,其中包含以下内容:
@echo off
echo.
dig +noall +answer %1
你的np文件只会有以下内容:
@echo off
echo.
notepad++.exe %1
然后只需将C:\Aliases文件夹添加到PATH环境变量中。如果您已经打开CMD或PowerShell,则需要重新启动它。
FWIW,我有大约20个别名(单独的.bat文件)在我的C:\ aliases目录-我只是根据需要创建新的。也许不是最简洁的,但效果很好。
更新:根据用户@Mav的一个很好的建议,使用%*比%1更好,这样你就可以将多个文件传递给命令,例如:
@echo off
echo.
notepad++.exe %*
这样,你可以这样做:
np c:\temp\abc.txt c:\temp\def.txt c:\temp\ghi.txt
它会打开所有3个文件。