在学校的时候,我曾经有一个类似这样的 .login 文件
alias ll = ls -l
alias dir = ls -Fhl
alias web = cd ~/public/public_www/development
我想在工作时用我的 XP 机器做这样的事情,但我在网上找到的大多数资源看起来都相当复杂和繁重。有没有一种方法可以做到这一点,而不需要弄乱注册表或运行大型批处理文件?
我最初问这个问题的原因是我只需要一个特定文件夹中一个命令的命令行,并且我希望在启动命令行时能够快速进入该文件夹。但是这个问题的公认答案非常好,所以我决定将我最初的问题作为一个单独的问题来询问:更改为 Windows 命令提示符的默认启动文件夹。
答案1
似乎没有多少人知道这一点,但你可以使用doskey
内置宏工具,唯一的问题是它不会保存。不过有很多方法可以解决这个问题。
用法:
doskey ls=dir
ls
现在将像会一样进行目录列表dir
。
如果要在命令中使用参数,请使用以下语法:
doskey d=dir $*
至于让它们保存的解决方法:
- 将所有别名保存到以下格式的文件中:
doskey ls=dir doskey..=cd..
并将其放在路径中的一个目录中。将其命名为命令,因此当你打开 cmd 时你可以输入A加载您的别名。
如果输入a并按下Enter似乎太麻烦,将其放入您的自动热键脚本:
WinWaitActive, C:\WINDOWS\system32\cmd.exe
Send {a}{Enter}
自动加载别名:
您可以将 cmd 的所有快捷方式更改为指向%SystemRoot%\system32\cmd.exe /K C:\path\to\aliases.cmd
,替换C:\path\to\aliases.cmd
为别名文件的位置。如果您通常从运行框运行它,您可以:
- 例如,将 cmd 可执行文件重命名为 cmd2.exe,并将其替换为启动上述命令的脚本或其他可执行文件(我不推荐这种方法,因为很多应用程序都依赖于 cmd)
- 创建一个批处理脚本并将其命名为 cmda(带别名的 cmd)。让它启动上述命令并将该批处理脚本放在您的路径中的某个位置。
答案2
它很简单:
创建具有别名的文件,例如c:\bin\别名:
ls=dir /ONE $* cd=cd /d $* python=python -ic "" ps=tasklist $* kill=taskkill /IM $*
创建一个文件,其中包含要在 cmd.exe 启动时运行的所有内容,包括使用以下方式加载别名任务列表例如c:\bin\cmd_autoruns.cmd:
@echo off cls color 0A doskey /macrofile=c:\bin\aliases
创建并运行一次批处理文件(例如设置_cmd_自动运行)将命令处理器
Autorun
键设置为我们的cmd_自动运行.cmd:reg add "hkcu\software\microsoft\command processor" /v Autorun /t reg_sz /d c:\bin\cmd_autoruns.cmd
作为替代方案设置_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"
答案3
我的回答和 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\命令处理器\AutoRun 和/或 HKEY_CURRENT_USER\Software\Microsoft\命令处理器\AutoRun
使用 regedit,将宏批处理文件的路径添加到 AutoRun 值(如果不存在,请添加 AutoRun 键):
目录:\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 目录:\jdk\bin\javaw.exe
答案4
您可以创建 .cmd 文件并将其放置在 %PATH% 中的某个位置(例如 C:\Windows)。以您的 Web 别名为例:
@C:
@cd \inetpub\wwwroot
会做类似的事情:
M:\> web
C:\inetpub\wwwroot>
我不知道有任何方法可以制作平面 .aliases 样式的文件。