普通Windows命令行(cmd.exe)的$profile类比于PowerShell

4

Powershell的$profile非常方便添加经常使用的命令。在cmd.exe中如何实现相同的功能?

2个回答

4

对于CMD,没有与PowerShell的$profile完全等效的功能。但可以通过AutoRun脚本进行一些自定义操作。在[HKCU\Software\Microsoft\Command Processor]中添加一个新的REG_SZ(或REG_EXPAND_SZ)值AutoRun,并将其路径设置为你的脚本路径,例如:

reg add "HKCU\Software\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "C:\path\to\your\init.cmd"

我通常使用类似这样的init.cmd文件:
@echo off
doskey /insert /macrofile=%USERPROFILE%\macro.def

使用包含我的别名的macro.def文件:

.="%SystemRoot%\explorer.exe" /e,.
..=cd ..
ls=dir /d $*
ll=dir /x $*

您还可以通过创建到CMD.EXE的快捷方式来实现类似的功能,其中命令行类似于:cmd /k "C:\path\to\your\init.cmd"。 /k参数告诉CMD执行指定的命令,然后从键盘接受输入(而/C则告诉cmd.exe执行指定的命令,然后终止)。使用答案中的注册表修改可能更加健壮,但如果您不想修改注册表,则可以使用此方法作为替代方案。您还可以使用此方法设置多个CMD.EXE快捷方式,每个快捷方式都有自己的初始化脚本。 - Χpẘ

0

PATH环境变量可以提供可执行模块(包括批处理文件)的“命令”可见性。还有AUTOEXEC.BAT在操作系统启动时运行,但这不是你要找的。

在cmd.exe会话中没有类似于PowerShell中运行$profile脚本的“配置文件”脚本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接