我正在寻找一种方法,在 Windows 中打开命令提示符时自动执行一些控制台命令,特别是设置一些命令别名。
例如,当打开命令提示符时,我希望自动运行如下命令,以便我可以使用ls
而不是dir
。
doskey ls=dir
如何才能做到这一点?
答案1
如果您希望它在启动时加载,而不是在您登录时加载,如果您有 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 文件夹是隐藏的。
答案2
命令别名特定于您配置它们的控制台窗口,因此启动脚本不起作用。您可以这样做:
使用
.cmd
您的任务列表命令,把它放在应用程序数据的某个地方。将其配置为在打开时自动启动命令。设置在注册表中:
- 钥匙:
HKCU\SOFTWARE\Microsoft\Command Processor
- 价值:
AutoRun
- 类型:REG_EXPAND_SZ
- 数据:
"%AppData%\aliases.cmd"
- 钥匙:
答案3
不同的命令解释器以不同的方式处理命令别名。
Microsoft 的 CMD 依赖 Win32 控制台子系统来提供其命令别名机制。该doskey
命令实际上与进程的控制台交互,控制台本身保存别名。因此别名是每个控制台的且是暂时的。
JP Software 的 TCC/LE自行处理别名。alias
命令允许查看和操作别名,这些别名可以是“本地”别名,也可以是“全局”别名。别名仍然是临时的,但要么是命令解释器进程的私有别名,要么是所有命令解释器进程(跨所有控制台)共享的别名。
贝壳如Korn shell在里面SFUA 实用工具包— 其工具运行在基于 UNIX 的应用程序子系统它包含在 Windows 7 旗舰版和 Windows Server 2008 R2 的包装盒中(对于 Windows XP,可以下载并安装UNIX 版本 3.5 的服务)—— 以及来自赛格威类似地处理别名本身。别名是暂时的,并且每个命令解释器进程都有。
自动加载默认的初始别名集也因命令解释器而异。
在所有情况下,都会有人在某种脚本中放置命令来设置别名。
grawity
已经给出了一个导致 Microsoft CMD 在启动时运行命令的两个注册表项。不幸的是,这是每个命令解释器进程的,即使别名本身被存储每个控制台。从初始命令解释器启动辅助命令解释器,对默认别名的任何手动更改都将被重置。另一种方法是,至少每个控制台只执行一次初始化,即在启动命令解释器的快捷方式中添加调用命令尾部/K
的选项和命令脚本的名称doskey
。
JP Software 的 TCC/LE自动运行TCSTART
脚本启动时。同样,这是每个命令解释器进程。但是,TCC 的“本地”别名是还每个命令解释器进程,因此如果使用本地别名,这是初始化别名的正确位置。对于全局别名,只需在文件Startup
夹中创建一个快捷方式,从文件(使用alias /r
)加载别名,然后运行命令shralias
以便在快捷方式运行完毕后它们仍然存在。
对于 Bourne Again 和 Korn shell,只需像在任何其他平台上使用这些 shell 一样进行操作即可。对于 Bourne Again shell,使用和脚本alias
中的命令;对于 Korn shell ,使用、ENV 和脚本中的命令。$HOME/.profile
$HOME/.bashrc
alias
$HOME/.profile
$HOME/.kshrc
答案4
这里的问题是,如果你在启动时执行此操作,这些替换将仅在打开的 CMD 提示符中可用。如果它关闭,所有这些替换都将丢失,并且必须为每个打开的命令提示符重新执行。
因此,有一些替代方法(你可以将它们组合起来):
一、创建批处理和快捷方式:
- 使用这些宏创建一个批处理并将其保存到某个已知位置(例如 c:\apps\mycmd.bat)。
- 在桌面上(或您想要的位置)创建它的快捷方式,并在其路径前放置“cmd /k”(例如“cmd /kc:\apps\mycmd.bat”)。
- 因此,每次打开该快捷方式时,所有命令都会运行。
II. 在 PATH 环境变量中创建一个批处理和一个条目:
- 使用这些宏创建一个批处理并将其保存到某个已知位置(例如 c:\apps\mycmd.bat)。
- 转到控制面板>系统>高级配置>高级>环境变量。
- 在用户或系统条目中,搜索名为 PATH 的变量。双击它,并在末尾插入“;”和 BAT 的路径(例如“c:\apps\”=>“previous_string;c:\apps\”),然后单击“确定”和“确定”。
- 因此,当您使用 cmd(或 BAT 文件)时,只需将 BAT 的名称放在创建的路径中(例如“c:\apps”)即可运行您的命令(例如,键入“myapps”以运行这些替换命令)。