我已经在环境变量的路径中添加了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:\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
其他回答
扩展罗里休伊特的回答。
在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命令或其他类似的命令)。
你要创建一个别名,只需输入:
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 %*
因为你已经在你的路径中有notepad++.exe。在该文件夹中创建一个名为np的快捷方式,并将其指向notepad++.exe。
假设您将notepad++.exe添加到PATH变量中,这就非常简单了。 用以下代码在System32文件夹中创建一个名为np.bat的文件:
@echo off
call notepad++.exe %*
%*将您赋予np命令的所有参数传递给notepad++.exe命令。
编辑: 您需要管理员权限才能将文件保存到System32文件夹,这对我来说有点不可靠。我只是在其他地方创建了该文件,并手动将其移动到System32。
如果你只是想要一些简单的命令,你可以按照这些步骤:
创建名为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个文件。