在 Windows XP 中创建别名

Pop*_*ops 55 command-line windows-xp

回到学校,我曾经有一个 .login 文件

alias ll = ls -l  
alias dir = ls -Fhl  
alias web = cd ~/public/public_www/development  
Run Code Online (Sandbox Code Playgroud)

我想在工作时用我的 XP 盒子做这样的事情,但我在网上找到的大多数资源似乎都相当复杂和繁重。有没有一种方法可以不涉及在注册表中乱搞或运行大型批处理文件?

我提出这个问题的最初原因是我只需要一个特定文件夹中一个命令的命令行,并且我希望在启动命令行时能够快速进入该文件夹。但是这个问题的公认答案非常好,以至于我决定将我的原始问题作为一个单独的问题询问:Change to default start folder for Windows command prompt

Joh*_*n T 85

好像知道的人不多,但是你可以使用doskey内置的宏工具,唯一的问题是它不保存。不过,有很多方法可以解决这个问题。

用法:

doskey ls=dir
Run Code Online (Sandbox Code Playgroud)

ls现在将像那样做一个目录列表dir

如果要在命令中使用参数,请使用以下语法:

doskey d=dir $*
Run Code Online (Sandbox Code Playgroud)

至于让他们保存的解决方法:

  • 以这种格式将所有别名保存到一个文件中:
doskey ls = 目录
doskey ..=cd ..

并将其放置在您路径中的目录之一中。将其命名为a.cmd 之类的简短名称,因此当您打开 cmd 时,您可以键入a来加载您的别名。

如果输入a并按下Enter似乎工作太多,请将其放入您的AutoHotkey脚本中:

WinWaitActive, C:\WINDOWS\system32\cmd.exe
Send {a}{Enter}
Run Code Online (Sandbox Code Playgroud)

自动加载别名

您可以将 cmd 的所有快捷方式更改为指向%SystemRoot%\system32\cmd.exe /K C:\path\to\aliases.cmd,替换C:\path\to\aliases.cmd为别名文件的位置。如果您通常从运行框运行它,您可以:

  • 例如,将 cmd 可执行文件重命名为 cmd2.exe,并将其替换为启动上述命令的脚本或其他可执行文件(我真的不推荐这种方法,因为很多应用程序都依赖于 cmd)
  • 例如,制作一个批处理脚本并将其命名为 cmda(带有别名的 cmd)。让它启动上面的命令并将这个批处理脚本放在你的路径中。

  • 这里不需要 AutoHotkey 脚本。Windows 提供了一种在启动 cmd.exe 时自动运行批处理文件的方法:http://technet.microsoft.com/en-us/library/cc779439(WS.10).aspx 我将其配置为指向 c:\dev \autorun.bat 加载 doskey 宏并运行其他方便的实用程序。 (19认同)

小智 40

这是一个简单的:

  1. 创建一个带有别名的文件,例如c:\bin\aliases

    ls=dir /ONE $*
    cd=cd /d $*
    python=python -ic "" 
    ps=tasklist $*
    kill=taskkill /IM $*
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建一个包含 cmd.exe 启动时要运行的所有内容的文件,包括使用doskey加载别名,例如c:\bin\cmd_autoruns.cmd

    @echo off
    cls
    color 0A
    doskey /macrofile=c:\bin\aliases
    
    Run Code Online (Sandbox Code Playgroud)
  3. 创建并运行一次批处理文件(例如set_cmd_autorun.cmd),它将命令处理器Autorun键设置为我们的cmd_autoruns.cmd

    reg add "hkcu\software\microsoft\command processor" /v Autorun /t reg_sz /d c:\bin\cmd_autoruns.cmd
    
    Run Code Online (Sandbox Code Playgroud)

作为set_cmd_autorun.cmd的替代方法,也可以创建如下所示的 .reg 文件,然后双击合并:

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"CompletionChar"=dword:00000009
"DefaultColor"=dword:00000000
"EnableExtensions"=dword:00000001
"PathCompletionChar"=dword:00000009
"Autorun"="c:\\bin\\cmd_autoruns.cmd"
Run Code Online (Sandbox Code Playgroud)


小智 5

我的回答类似于 vriolk 的

我创建了一个包含我的宏的 .bat 文件(例如 c:\winscripts\autoexec.bat):

@doskey whereis=c:\winscripts\whereis.cmd $*
@doskey ls=dir /b $*
@doskey l=dir /od/p/q/tw $*

然后从 cmd 提示符运行“cmd /?” 找到要为 cmd 自动运行编辑的注册表项:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
  和/或
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

使用 regedit,将宏批处理文件的路径添加到 AutoRun 值(如果不存在,请添加 AutoRun 键):

c:\winscripts\autoexec.bat

现在,每当您从开始->运行提示符运行“cmd”时,这个 autoexec.bat 也将运行并为您创建 doskey 宏。

顺便说一下, whereis.cmd 包含这个:

@for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i

它在您的 PATH 变量中搜索您提供的术语:

c:>javaw 在哪里
c:\jdk\bin\javaw.exe