Dan*_*ams 26 windows console autorun command-line
我正在寻找一种在 Windows 中打开命令提示符时自动执行一些控制台命令的方法,特别是设置一些命令别名。
例如,一个命令提示被打开时,我想的命令如以下自动运行,这样我可以使用ls代替的dir。
doskey ls=dir
Run Code Online (Sandbox Code Playgroud)
如何才能做到这一点?
use*_*686 54
命令别名特定于您配置它们的控制台窗口,因此启动脚本将不起作用。你可以这样做:
.cmd使用您的doskey命令创建一个批处理文件 ( ) ,将其放在应用程序数据中的某个位置。
将其配置为在您打开cmd时自动启动。设置在注册表中:
HKCU\SOFTWARE\Microsoft\Command ProcessorAutoRun"%AppData%\aliases.cmd"KCo*_*eau 11
如果您希望它在启动时加载,而不是在您登录时加载,如果您有 XP Pro(XP home 不包含 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 文件夹被隐藏。
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 在启动时运行命令的两个注册表项之一。不幸的是,这是每个命令解释器进程,即使别名本身存储在每个 console 中。从最初的命令解释器启动辅助命令解释器,对默认别名的任何手动更改都将被重置。另一种方法,至少每个控制台只执行一次初始化,是在启动命令解释器的快捷方式中添加/K调用doskey命令尾部的命令脚本的选项和名称。
JP Software 的 TCC/LE在其启动时自动运行TCSTART脚本。同样,这是每个命令解释器进程。然而,TCC 的“本地”别名也是每个命令解释器进程的,所以如果使用本地别名,这是初始化别名的正确位置。对于全局别名,只需在您的Startup文件夹中创建一个从文件加载别名的快捷方式(使用alias /r),然后运行该shralias命令,以便在该快捷方式完成运行后它们仍然存在。
对于 Bourne Again 和 Korn shell,只需像在任何其他平台上使用这些 shell 一样操作即可。使用Bourne Again shellalias的$HOME/.profile和$HOME/.bashrc脚本中的命令;并在 Korn shellalias的$HOME/.profile、ENV 和$HOME/.kshrc脚本中使用该命令。