Windows 命令提示符中的别名
Posted
技术标签:
【中文标题】Windows 命令提示符中的别名【英文标题】:Aliases in Windows command prompt 【发布时间】:2013-12-30 03:01:27 【问题描述】:我已将notepad++.exe
添加到我的环境变量路径中。
现在在命令提示符下,notepad++.exe filename.txt
打开filename.txt
。但我只想np filename.txt
打开文件。
我尝试使用DOSKEY np=notepad++
。但它只是将已经打开的记事本++带到最前沿,而无需打开文件。我怎样才能让它打开文件?
谢谢。
【问题讨论】:
将可执行文件名称更改为您想要的任何名称。您可以从文件资源管理器中执行此操作! 【参考方案1】:你需要传递参数,试试这个:
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 $*
...
【讨论】:
这适用于我运行此命令的命令提示符。但是如果我关闭窗口并打开一个新的命令提示符。它不记得 np 命令。有什么方法可以让我记住命令提示符,这样我就不必每次打开新的命令提示符时都运行它? 不改变 PATH 的相同行为:doskey npp="C:\Program Files (x86)\Notepad++\notepad++.exe" $*
doskey.exe 与 cmd.exe 无关。它为控制台窗口中的当前或指定的可执行文件设置别名,该窗口由 conhost.exe 的实例托管。在客户端应用程序(例如 cmd.exe 或 powershell.exe)读取该行之前,控制台别名在输入行的开头进行匹配和替换。它们不能一般用作命令,例如不在批处理文件中或通过管道输入。
嗨,我已经用cmder打开了phpstorm...它打开了phpstorm,但它一直打开我最后打开的项目,而不是我当前所在的项目目录...我怎么得到这个打开我所在的目录?
@PA-GW:你在 doskey 命令中使用了“phpstorm $*”吗?你试过phpstorm .
吗(注意点是“当前目录”的快捷方式)。【参考方案2】:
要添加到乔希的答案中,
您可以通过以下步骤使别名持久,
-
使用您的
DOSKEY
命令创建一个 .bat 或 .cmd 文件。
运行 regedit 并转到 HKEY_CURRENT_USER\Software\Microsoft\Command Processor
添加名称为 AutoRun
和 .bat/.cmd 文件的完整路径的字符串值条目。
例如%USERPROFILE%\alias.cmd
,将路径的初始段替换为%USERPROFILE%
对于多台机器之间的同步很有用。
这样,每次运行 cmd 时,都会加载别名。
对于 Windows 10,请将条目添加到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
。
为了完整起见,这里有一个模板来说明可能有用的别名类型。
@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"
对于单用户应用程序,上述方法即可。然而,在某些情况下,必须首先检查注册表项中是否存在alias.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 来实际编辑 env.cmd 文件 这是幼稚且低效的。将为每个 cmd.exe 实例运行自动运行批处理文件,包括system
函数。如果定义了某个变量(例如AUTORUN
),则需要退出。否则设置环境 (set AUTORUN=1
) 并使用宏文件选项一次性设置 doskey,而不是运行 doskey.exe 来定义每个别名。
@eryksun 你能发布或链接到一个不那么天真的例子吗?如果定义了自动运行,我知道如何退出,但对如何在没有运行 CMD 的情况下首先设置或取消设置感到困惑。
当今HKEY_CURRENT_USER\Software\Microsoft\Command Processor
的替代品是什么?我似乎无法在 regedit 中找到该路径
我喜欢这个。类似的选项是放入自动运行:doskey /macrofile="%USERPROFILE%\alias"
。然后将别名放在“别名”文件中,不带“doskey”部分。管理员可以用来将自动运行定义限制为用户可以自行创建的别名的解决方案。防止用户自动运行其他东西。【参考方案3】:
另外,您可以使用命令在路径(例如 C:\Windows)中创建 alias.cmd
@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
现在我以 sublime 的身份运行
subl index.html
【讨论】:
不要将setx
与PATH
变量一起使用。它可以不可恢复地截断您的路径。【参考方案4】:
鉴于您已将 notepad++.exe 添加到 PATH 变量中,因此非常简单。
在 System32 文件夹中创建一个名为 np.bat
的文件,代码如下:
@echo off
call notepad++.exe %*
%*
将您提供给np
命令的所有参数传递给notepad++.exe
命令。
编辑: 您需要管理员权限才能将文件保存到 System32 文件夹,这对我来说有点奇怪。我刚刚在其他地方创建了文件并手动将其移动到 System32。
【讨论】:
我已经有一个小 .bat 实用程序文件的文件夹,所以我更喜欢这个而不是弄乱注册表或 .cmd 文件 我刚刚尝试过,它与直接调用 Notepad++ 的工作方式不同。如果您在打开的文件名中使用通配符,并直接调用 NPP,它可以工作,例如你可以做"notepad++.exe *somefiles*"
,匹配的文件就会打开。当我尝试使用您建议的批处理文件(即"npp *somefiles*"
)时,它确实打开了一个 NPP 实例,但没有打开我传递的文件。有什么想法吗?【参考方案5】:
如果您只是想要一些简单的命令,您可以按照以下步骤操作:
-
创建一个名为 C:\Aliases 的文件夹
将 C:\Aliases 添加到您的路径中(这样每次都能找到其中的任何文件)
在 C:\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,我的 C:\Aliases 目录中有大约 20 个别名(单独的 .bat 文件) - 我只是根据需要创建新的。也许不是最整洁的,但它工作正常。
更新:根据用户 @Mav 的一个极好的建议,使用 %* 比使用 %1 更好,这样您就可以将多个文件传递给命令,例如:
@echo off
echo.
notepad++.exe %*
这样,你可以这样做:
np c:\temp\abc.txt c:\temp\def.txt c:\temp\ghi.txt
它将打开所有 3 个文件。
【讨论】:
我个人确实长期使用这种方法。如果有人不想继续doskey
,这是一种非常容易做到的方法。
这种方法(cmd 文件作为别名)的一个优点是,如果您使用 WSL(Windows 的 Linux 子系统),这些 cmd 也可以在 bash 中使用。虽然经常(取决于你的别名)你需要在调用 cmd 文件之前使用 wslpath.sh 或类似方法进行一些路径操作
@Qwerty,在对上面另一个答案的评论中,我指出我 从不 创建与底层命令同名的别名,所以我猜它从未发生过我!实际上,您不能完全限定.bat
文件中的ls
命令吗?
@roryhewitt 哦,是的,指定ls.exe
的完整路径绝对可以。好点子。我已经使用了 doskey 替代方案。
可能想要添加 %* 而不是 %1 来传递所有参数,而不是只传递第一个参数。【参考方案6】:
使用 doskey 是正确的方法,但它会在命令提示符窗口关闭时重置。您需要将该行添加到类似 .bashrc 的等效项中。所以我做了以下事情:
-
将“C:\Program Files (x86)\Notepad++”添加到系统路径变量
复制notepad++.exe(当然在同一文件夹中)并将其重命名为np.exe
工作得很好!
【讨论】:
【参考方案7】:实际上,我会给你一个更好的方法,让你了解我从以前在 Amiga 上编程以来一直使用的一个小技巧。在您使用的任何新系统上,无论是个人的还是专业的,第一步是创建两个文件夹:C:\BIN
和C:\BATCH
。然后修改您的路径语句以将两者都放在开头,顺序为C:\BATCH;C:\BIN;[rest of path]
。
完成此操作后,如果您几乎没有需要访问的偏僻实用程序,只需将它们复制到 C:\BIN
文件夹,它们就在您的路径中。要临时覆盖这些分配,您可以将与可执行文件同名的批处理文件添加到C:\BATCH
文件夹,路径将在 C:\BIN 中的文件之前找到它。它应该涵盖您可能需要做的任何事情。
当然,如今,执行此操作的规范正确方法是为文件创建一个符号连接,但同样的原则也适用。还有一点额外的好处。如果您想在系统中放入与路径中已有的某些内容冲突的内容,将其放入 C:\BIN
或 C:\Batch
文件夹中只会先占原来的 - 允许您覆盖内容临时或永久,或者将内容重命名为您更喜欢的名称 - 无需实际更改原始名称。
【讨论】:
这与 roryhewitt 的答案相同。 其实不是。我说“更好”。用于覆盖或覆盖已经存在的覆盖的内置选项。可执行文件与批处理文件的简单分离。并且 rory 的解决方案没有在文件夹应该去的路径中指定 where 。因此,大多数人会把它放在路径的尽头。作为结束而不是开始,他的解决方案一开始就不允许覆盖。 Rory 的解决方案与我本人最初在 25 年前得出的解决方案大致相同。从那以后,我对模型进行了一些改进。 随便。使用 Amiga 的人不可能都是坏人。 很公平 :) 就我而言,别名文件夹位于路径的开头,但无论如何,我个人不想覆盖默认值 - 我的别名总是有不同的名称。所以我使用 'dig2' 和 'digx' 作为 'dig' 的别名,但仍然有 'dig' 可用(无需指定其文件夹)。 Amiga 也 +1 :) 美好的回忆,我也将bat文件重命名为startup-sequence :)【参考方案8】:或者你可以使用cmder
,它可以让你像linux一样添加别名:
alias subl="C:\Program Files\Sublime Text 3\subl.exe" $*
【讨论】:
虽然这不能回答问题。对于具有 Linux 背景的人来说,了解 Windows CMD 的替代方案可以满足他们的当前需求非常重要。 有很多选择。用于 Windows 的 Git 带有一个“git-bash”。 要在Cmder中添加别名,参见示例here。 嗨,我已经用cmder打开了phpstorm...它打开了phpstorm,但它一直打开我最后打开的项目,而不是我当前所在的项目目录...我怎么得到这个打开我所在的目录? @PA-GW 您可能希望将.
作为参数添加到 phpstorm 以告诉它打开当前目录。有关更多信息,请参阅 Jetbrains 的 this 帮助条目,有关 phpstorm 的其他命令行选项,请参阅 this。【参考方案9】:
因为您的路径中已经有 notepad++.exe
。在该文件夹中创建一个名为np
的快捷方式并将其指向notepad++.exe
。
【讨论】:
【参考方案10】:Windows 10 中的控制台别名
要定义控制台别名,请使用Doskey.exe
创建宏,或使用AddConsoleAlias
函数。
doskey
doskey test=cd \a_very_long_path\test
还要通过parameters在末尾添加$*
:doskey short=longname $*
添加控制台别名
AddConsoleAlias( TEXT("test"),
TEXT("cd \\<a_very_long_path>\\test"),
TEXT("cmd.exe"));
更多信息在这里Console Aliases、Doskey、Parameters
【讨论】:
【参考方案11】:首先,您可以创建一个名为 np.cmd 的文件并将其放在 PATH 搜索列表中的文件夹中。 然后,编辑 np.cmd 文件如下:
@echo off
notepad++.exe
【讨论】:
【参考方案12】:这个解决方案不是一个恰当的解决方案,但在某些情况下是有用的。
首先创建一个文件夹并将其添加到您的系统路径中。转到您要为其创建别名的任何程序的可执行文件。右键单击并发送到桌面(创建快捷方式)。将快捷方式重命名为任何方便的别名。现在,使用快捷方式并将其放入您的文件夹中。
在运行提示中,您可以直接键入快捷方式名称,然后您可以打开程序。但是在命令提示符下,您需要附加 .lnk 并回车,程序将被打开。
【讨论】:
【参考方案13】:扩展 roryhewitt 答案。
在 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 中编辑小时)。
【讨论】:
【参考方案14】:您想通过简单的输入来创建别名:
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 %*
【讨论】:
【参考方案15】:如果您想在每个目录/每个项目的基础上启用别名,请尝试以下操作:
首先,创建一个批处理文件,它将在当前目录中查找名为aliases
的文件并从中初始化别名,我们称之为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]
然后,使用以下格式在您需要的地方创建aliases
:
alias1 = command1
alias2 = command2
...
例如:
b = nmake
c = nmake clean
r = nmake rebuild
然后,将make-aliases.cmd
的位置添加到您的%PATH%
变量中,以使其在系统范围内或仅将其保存在已知位置。
使用cmd
使其自动启动。
我绝对建议不要为此使用HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
,因为某些开发工具会在每个会话中多次触发自动运行脚本。
如果你使用ConEmu,你可以换一种方式,从启动任务(Settings
>Startup
>Tasks
)启动脚本,例如,我创建了一个名为@的条目987654334@:
cmd.exe /k "vcvars64 && make-aliases"
,
然后通过Settings
在资源管理器上下文菜单中注册它>Integration>
和Command:
MSVC -cur_console:n
,这样现在我可以右键单击一个文件夹并在其中使用我的aliases
启动VS开发人员提示如果它们恰好位于该文件夹中,则会自动加载。
如果没有 ConEmu,您可能只想使用相应的命令创建一个到 cmd.exe
的快捷方式,或者只是每次手动运行 make-aliases
。
如果您忘记了别名,请使用 aliases
宏,如果出现任何问题,只需按 Alt+F10 重置当前会话,这是cmd
中的内置命令。
【讨论】:
【参考方案16】:当然,在我找到最方便的解决方案之前,我不会休息。结合浩瀚互联网上的众多答案和主题,这就是您可以拥有的。
随cmd
的每个实例自动加载
别名不需要关键字 DOSKEY
例如:ls=ls --color=auto $*
请注意,这主要是基于Argyll's answer 和 cmets,一定要阅读它以理解这些概念。
如何让它发挥作用?
-
使用别名创建一个
mac
宏文件您甚至可以使用 bat
/cmd
文件来运行其他东西(类似于 linux 中的 .bashrc
)
在注册表中注册它以在 cmd
的每个实例上运行或仅在需要时通过快捷方式运行它
示例步骤:
%userprofile%/cmd/aliases.mac
;==============================================================================
;= This file is registered via registry to auto load with each instance of cmd.
;================================ general info ================================
;= https://***.com/a/59978163/985454 - how to set it up?
;= https://gist.github.com/postcog/5c8c13f7f66330b493b8 - example doskey macrofile
;========================= loading with cmd shortcut ==========================
;= create a shortcut with the following target :
;= %comspec% /k "(doskey /macrofile=%userprofile%\cmd\aliases.mac)"
alias=subl %USERPROFILE%\cmd\aliases.mac
hosts=runas /noprofile /savecred /user:QWERTY-XPS9370\administrator "subl C:\Windows\System32\drivers\etc\hosts" > NUL
p=@echo "~~ powercfg -devicequery wake_armed ~~" && powercfg -devicequery wake_armed && @echo "~~ powercfg -requests ~~ " && powercfg -requests && @echo "~~ powercfg -waketimers ~~"p && powercfg -waketimers
ls=ls --color=auto $*
ll=ls -l --color=auto $*
la=ls -la --color=auto $*
grep=grep --color $*
~=cd %USERPROFILE%
cdr=cd C:\repos
cde=cd C:\repos\esquire
cdd=cd C:\repos\dixons
cds=cd C:\repos\stekkie
cdu=cd C:\repos\uplus
cduo=cd C:\repos\uplus\oxbridge-fe
cdus=cd C:\repos\uplus\stratus
npx=npx --no-install $*
npxi=npx $*
npr=npm run $*
now=vercel $*
;=only in bash
;=alias whereget='_whereget() A=$1; B=$2; shift 2; eval \"$(where $B | head -$A | tail -1)\" $@; ; _whereget'
history=doskey /history
;= h [SHOW | SAVE | TSAVE ]
h=IF ".$*." == ".." (echo "usage: h [ SHOW | SAVE | TSAVE ]" && doskey/history) ELSE (IF /I "$1" == "SAVE" (doskey/history $g$g %USERPROFILE%\cmd\history.log & ECHO Command history saved) ELSE (IF /I "$1" == "TSAVE" (echo **** %date% %time% **** >> %USERPROFILE%\cmd\history.log & doskey/history $g$g %USERPROFILE%\cmd\history.log & ECHO Command history saved) ELSE (IF /I "$1" == "SHOW" (type %USERPROFILE%\cmd\history.log) ELSE (doskey/history))))
loghistory=doskey /history >> %USERPROFILE%\cmd\history.log
;=exit=echo **** %date% %time% **** >> %USERPROFILE%\cmd\history.log & doskey/history $g$g %USERPROFILE%\cmd\history.log & ECHO Command history saved, exiting & timeout 1 & exit $*
exit=echo **** %date% %time% **** >> %USERPROFILE%\cmd\history.log & doskey/history $g$g %USERPROFILE%\cmd\history.log & exit $*
;============================= :end ============================
;= rem ******************************************************************
;= rem * EOF - Don't remove the following line. It clears out the ';'
;= rem * macro. We're using it because there is no support for comments
;= rem * in a DOSKEY macro file.
;= rem ******************************************************************
;=
现在你有三个选择:
a) 使用快捷方式手动加载
使用以下目标创建
cmd.exe
的快捷方式:%comspec% /k "(doskey /macrofile=%userprofile%\cmd\aliases.mac)"
b) 只注册aliases.mac
宏文件
c) 注册一个常规的 cmd/bat
文件也可以运行任意命令参见底部的示例 cmdrc.cmd
文件
注意:下面,Autorun_
只是一个占位符键,不会做任何事情。选择一个并重命名另一个。
在此路径手动编辑注册表:
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
Autorun REG_SZ doskey /macrofile=%userprofile%\cmd\aliases.mac
Autorun_ REG_SZ %USERPROFILE%\cmd\cmdrc.cmd
或者导入reg文件:
%userprofile%/cmd/cmd-aliases.reg
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"Autorun"="doskey /macrofile=%userprofile%\\cmd\\aliases.mac"
"Autorun_"="%USERPROFILE%\\cmd\\cmdrc.cmd"
%userprofile%/cmd/cmdrc.cmd
如果您决定使用上述 b),则不需要此文件:: This file is registered via registry to auto load with each instance of cmd.
:: https://***.com/a/59978163/985454
@echo off
doskey /macrofile=%userprofile%\cmd\aliases.mac
:: put other commands here
【讨论】:
【参考方案17】:非常简单的自定义别名:
在系统的任何位置创建一个新文件夹。创建一个新文件,命名为任何你想用.cmd
扩展名命名的别名。将所有命令写入文件中,如
cd /D D:\Folder
g++ -o run whatever.cpp
复制它是文件夹的路径。
转到Settings > System > About > Advanced system settings > Enviornment Variables...
现在在System variables
部分下找到Path
变量。单击它一次,然后单击Edit
。现在点击New
并粘贴复制的文本。
单击OK
、OK
和OK
。重新启动你的 Powershell/cmd 提示符,瞧,你得到了你的持久化别名!您也可以使用同一个文件夹来制作其他别名,而无需再次更改 Path
变量!
【讨论】:
效果很好,谢谢!!!以上是关于Windows 命令提示符中的别名的主要内容,如果未能解决你的问题,请参考以下文章
我可以使用 BQ 命令行工具从 Windows 命令提示符中的文件运行查询吗?