Answers:
您可以将批处理脚本添加到路径中的目录中,如下所示:
@echo off
:: Notepad++ execution
if [%1]==[-h] goto :HELP
if [%1]==[--help] goto :HELP
if [%1]==[/?] goto :HELP
goto :START
:START
start "" /i "%ProgramFiles(x86)%\notepad++\notepad++.exe" %*
goto :EOF
:HELP
echo -------------------------------
echo Notepad++ Command Argument Help
echo -------------------------------
echo Usage :
echo.
echo notepad++ [--help] [-multiInst] [-noPlugins] [-lLanguage] [-nLineNumber] [-cColumnNumber] [-xPos] [-yPos] [-nosession] [-notabbar] [-ro] [-systemtray] [-loadingTime] [fullFilePathName]
echo.
echo --help : This help message
echo -multiInst : Launch another Notepad++ instance
echo -noPlugins : Launch Notepad++ without loading any plugin
echo -l : Launch Notepad++ by applying indicated language to the file to open
echo -n : Launch Notepad++ by scrolling indicated line on the file to open
echo -c : Launch Notepad++ on scrolling indicated column on the file to open
echo -x : Launch Notepad++ by indicating its left side position on the screen
echo -y : Launch Notepad++ by indicating its top position on the screen
echo -nosession : Launch Notepad++ without any session
echo -notabbar : Launch Notepad++ without tabbar
echo -ro : Launch Notepad++ and make the file to open read only
echo -systemtray : Launch Notepad++ directly in system tray
echo -loadingTime : Display Notepad++ loading time
echo -alwaysOnTop : Make Notepad++ always on top
echo fullFilePathName : file name to open (absolute or relative path name)
echo.
goto :EOF
:EOF
您可以命名notepad++.cmd
。帮助部分使您可以轻松获取有关交换机的信息。
我把所有这些脚本和命令行程序中,被添加到一个目录%PATH%
:
C:\Users\Public\Command\
......,而该目录同步到所有的计算机和虚拟机。
创建一个包含以下内容的批处理文件:
@"C:\Program Files\Git\bin\git.exe" %*
该.bat
文件应另存为文件,例如在git.bat
中的目录中PATH
。
@
禁止将命令回显到调用shell。用引号""
防止将空格解释为参数定界符。%*
将所有参数粘贴到批处理文件中,而不是引用的可执行文件中。
现在,您可以使用批处理文件名中的before来调用可执行文件.bat
。就我而言,git
。
参考文献:
start git
为他们做而不是做。如果批处理脚本exec
进入了请求的进程,它将表现得更好,但这在Windows上是不可能的:serverfault.com/questions/315077/…。我可以假装,call
但这将是徒劳的,而且毫无意义。
拖动快捷方式notepad++.exe
到C:\Windows\System32
。
或者,按照@Synetech inc。的建议,您可以将快捷方式放在单独的目录(例如C:\Shortcuts
)中,然后将该目录添加到%PATH%
:
setx PATH "%PATH%;C:\Shortcuts"
如某些注释所示,这仅在“运行”对话框中有效。为了获得从命令提示符启动的快捷方式,您需要将快捷方式扩展名(.LNK)添加到PATHEXT环境变量中。
setx PATHEXT %pathext%;.LNK
参考文献:
Shortcuts
。
setx
。您不必使用等号,而IIRC则需要将整个路径用引号引起来,如果当前路径中%PATH%
有空格(它将使用空格)。
SETX
将波浪号而不是百分比用于变量以避免扩展它们吗?我知道某些env-var设置工具可以……
Run As
对话框调用时有效,而在命令提示符下则无效。
只需在路径中的文件夹中使用创建符号链接mklink
。
例如(在管理员命令提示符下)
mklink "C:\Users\Me\Documents\Paths\np.exe" "C:\Program Files (x86)\Notepad++\notepad++.exe"
App Paths注册表项正是这样做的:将notepad ++。exe的路径设置为“ \ program files \ ...”,您将能够从Start-Run,cmd等启动它,就像从%PATH%中的目录。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
参考:https : //stackoverflow.com/questions/4822400/register-an-exe-so-you-can-run-it-from-any-command-line-in-windows
我不喜欢这里介绍的任何解决方案,因此尝试了其他方法。
在某个地方创建一个文件夹来存储您的所有快捷方式(如Marteen建议的)并将其添加到您的%PATH%
。我创建C:\Shortcuts
并使用了Rapid Environment Editor将其添加到PATH中。
右键单击要添加到路径的文件(在资源管理器中),然后单击“选择链接源”
右键单击刚创建的文件夹,然后单击确定Drop As > Symbolink Link
。
如果需要,可以重命名symbolink链接。
而已。您现在应该可以通过命令行访问程序。如果只是将新文件夹添加到PATH,则必须重新启动cmd.exe或Cmder或ConEmu或所使用的任何文件。之后,您无需重新启动即可添加新程序。
start
如我的回答所示,您需要避免使用。