我正在寻找一种在Windows中打开命令提示符时自动执行一些控制台命令的方法,特别是设置一些命令别名的方法。
例如,当打开命令提示符时,我希望自动运行以下命令,以便ls
代替dir
。
doskey ls=dir
如何才能做到这一点?
cmd.exe
。
我正在寻找一种在Windows中打开命令提示符时自动执行一些控制台命令的方法,特别是设置一些命令别名的方法。
例如,当打开命令提示符时,我希望自动运行以下命令,以便ls
代替dir
。
doskey ls=dir
如何才能做到这一点?
cmd.exe
。
Answers:
如果您希望它在启动时(而不是在登录时)加载,如果您拥有XP Pro(XP主页不包含gpedit.msc),请执行以下操作:
开始>运行> gpedit.msc
然后按回车。然后从命令行运行gpupdate / force。
去
计算机配置> Windows设置>脚本>启动
并将位置添加到脚本中。
您还可以针对以下用户登录进行此操作
用户配置> Windows设置>脚本>启动
如果您有XP Home,则可以将脚本复制到以下任一位置:
C:\ Windows \ System32 \ GroupPolicy \ Machine \ Scripts \ Startup
在启动时加载它们,或:
C:\ Windows \ System32 \ GroupPolicy \ User \ Scripts \ Logon
用于在登录时为用户加载它们。GroupPolicy文件夹被隐藏。
命令别名特定于您在其上配置它们的控制台窗口,因此启动脚本将不起作用。您可以这样操作:
.cmd
使用doskey命令创建一个批处理文件(),然后将其放在“应用程序数据”中。
将其配置为在打开cmd时自动启动。设置在注册表中:
HKCU\SOFTWARE\Microsoft\Command Processor
AutoRun
"%AppData%\aliases.cmd"
if exist "%AppData%\aliases.cmd" "%AppData%\aliases.cmd"
Microsoft的CMD依靠Win32控制台子系统提供其命令别名机制。该doskey
命令实际上与流程的控制台进行交互,而控制台本身拥有别名。因此,别名是按控制台的并且是瞬态的。
JP Software的TCC / LE自己处理别名。该alias
命令允许查看和操作别名,这些别名可以是“本地”或“全局”。别名仍然是暂时的,但是要么对一个命令解释器进程专用,要么在所有命令解释器进程之间共享(跨所有控制台)。
外壳如Korn外壳在SFUA实用工具 -其工具在运行子系统基于UNIX的应用程序自带正确的,在与Windows 7旗舰版和Windows Server 2008 R2(适用于Windows XP的箱子,可以下载和安装UNIX 3.5版的服务。)— cygwin的Bourne Again shell 同样也处理别名。别名是暂时的,并且是按命令解释程序进行的。
在所有情况下,都可以使用命令在某种脚本中设置别名。
grawity
已经给出了导致Microsoft CMD在启动时运行命令的两个注册表项之一。不幸的是,即使别名本身是按控制台存储的,这也是每个命令解释器的过程。从最初的命令解释器启动第二个命令解释器,对默认别名的任何手动更改将被重置。至少每个控制台仅执行一次初始化的另一种方法是,在启动命令解释器的快捷方式中添加/K
调用doskey
命令尾部的命令脚本的选项和名称。
JP Software的TCC / LE 在启动时会自动运行TCSTART
脚本。同样,这是每个命令解释器的过程。但是,TCC的“本地”别名也是按命令解释程序进行的,因此,如果使用本地别名,这是初始化别名的正确位置。对于全球的别名,只需创建一个快捷方式Startup
的文件夹,从一个文件(负载别名alias /r
),然后运行该shralias
命令,让他们坚持后的快捷方式运行结束。
对于Bourne Again和Korn壳,只需在其他平台上对这些壳进行操作即可。对Bourne Again shell 使用和脚本中的alias
命令;并使用的命令,ENV和脚本Korn外壳。$HOME/.profile
$HOME/.bashrc
alias
$HOME/.profile
$HOME/.kshrc
重力的答案对我来说非常有用。
我在Documents文件夹中创建了一个shell-aliases.cmd脚本(以后可以找到它)。
然后在注册表项中创建“ AutoRun”可扩展字符串值:
'HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor'
将值设置为别名文件的完整路径(我的文件位于“ C:\ Users \ Lee \ Documents \ shell-aliases.cmd”中)。
重新加载命令提示符后,我的doskey别名就起作用了。另外,我的别名文件很容易访问,并且可以编辑,可以添加更多内容。
这里的问题是,如果您在启动时执行此操作,则这些替换仅在打开的CMD提示符下可用。如果关闭,所有这些替换将丢失,并且必须为每个打开的命令提示符再次进行替换。
因此,一些替代方法(您可以将它们组合在一起):