打开命令提示符时自动执行命令

打开命令提示符时自动执行命令

我正在寻找一种方法,在 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

命令别名特定于您配置它们的控制台窗口,因此启动脚本不起作用。您可以这样做:

  1. 使用.cmd您的任务列表命令,把它放在应用程序数据的某个地方。

  2. 将其配置为在打开时自动启动命令。设置在注册表中:

    • 钥匙: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/.bashrcalias$HOME/.profile$HOME/.kshrc

答案4

这里的问题是,如果你在启动时执行此操作,这些替换将仅在打开的 CMD 提示符中可用。如果它关闭,所有这些替换都将丢失,并且必须为每个打开的命令提示符重新执行。

因此,有一些替代方法(你可以将它们组合起来):

一、创建批处理和快捷方式:

  1. 使用这些宏创建一个批处理并将其保存到某个已知位置(例如 c:\apps\mycmd.bat)。
  2. 在桌面上(或您想要的位置)创建它的快捷方式,并在其路径前放置“cmd /k”(例如“cmd /kc:\apps\mycmd.bat”)。
  3. 因此,每次打开该快捷方式时,所有命令都会运行。

II. 在 PATH 环境变量中创建一个批处理和一个条目:

  1. 使用这些宏创建一个批处理并将其保存到某个已知位置(例如 c:\apps\mycmd.bat)。
  2. 转到控制面板>系统>高级配置>高级>环境变量。
  3. 在用户或系统条目中,搜索名为 PATH 的变量。双击它,并在末尾插入“;”和 BAT 的路径(例如“c:\apps\”=>“previous_string;c:\apps\”),然后单击“确定”和“确定”。
  4. 因此,当您使用 cmd(或 BAT 文件)时,只需将 BAT 的名称放在创建的路径中(例如“c:\apps”)即可运行您的命令(例如,键入“myapps”以运行这些替换命令)。

相关内容