命令提示符中的命令别名?

命令提示符中的命令别名?

怎样才能像使用一样在 Windows 命令提示符中创建命令别名bash

doskey我发现论坛主题,因此我可以执行如下操作:

doskey ls=dir /b

...现在命令的ls行为更像ls在 Unix 上。(我ls经常输入cmd,所以这根本不好笑。)

但是我如何让它在会话之间保留下来?下次我打开时它就会消失cmd.exe。(有类似的东西吗.bash_profile?)

答案1

尽管这并不是一个完全符合主题的答案,但在这种情况下可以使用 cygwin。

http://www.cygwin.com/CygWin
下载:http://cygwin.com/setup.exe

为了在 Windows 中轻松访问它,您可以将 c:\cygwin\bin 放在您的路径中。

请注意,有几个命令与不等效的 Windows 软件冲突,例如 find(1) 与 find.exe - find(1) 列出所有文件和子目录,而 find.exe 的功能类似于 grep。

另一个选择是访问

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

查看

cmd.exe /?
更多细节

答案2

@DOSKEY使用命令和自动运行选项在 Windows 命令提示符中设置永久别名相当容易HKCU\Software\Microsoft\Command Processor

快速分步指南:

  1. 创建一个新的批处理文件,将其命名为Alias.bat。复制/粘贴以下文本。提示:我建议C:\Bin为所有命令行工具创建一个文件夹。
  2. 打开登记册HKEY_CURRENT_USER\Software\Microsoft\Command Processor
  3. 添加字符串值命名Autorun并将值设置为Alias.bat文件的绝对路径。
  4. 完毕。

每次打开命令提示符时,此批处理文件都会执行。

内容别名脚本

DOSKEY ls=DIR $* 
DOSKEY cp=COPY $* 
DOSKEY xcp=XCOPY $*
DOSKEY mv=MOVE $* 
DOSKEY clear=CLS
DOSKEY h=DOSKEY /HISTORY
DOSKEY alias=if ".$*." == ".." ( DOSKEY /MACROS ) else ( DOSKEY $* )

现在您可以键入alias(即DOSKEY /MACROS)来查看当前的别名/宏列表。

要添加新别名仅限当前会话您可以使用alias name=command

答案3

也有点题外话——

使用 PowerShell 代替cmd.exe命令行。好消息是 PowerShell 具有与 相当的功能.bash_profile,并且运行起来就像cmd.exe命令行一样。它带有内置的别名生成功能。坏消息是,如果你想做比简单命令更复杂的事情,那么学习起来会有点困难cmd.exe

顺便说一下,ls被定义为 的别名dir,开箱即用。

答案4

我会暂时当个巫师,让这个帖子起死回生。它的答案让我不满意。我知道有更好的方法。我尝试制作和包含 bat 文件,并试图弄清楚如何让意大利面球正常工作,但效果并不好。不管怎样,我回到了谷歌。

我也发现了这一点如何添加新的 DOS 别名/命令并为管理员 DOS 创建键盘快捷键它运行良好,应该可以在 98-7 上运行(有点有趣的数字系统,但嘿,这是 Windows)。我希望它能帮助这个帖子上的人和 Google 通过这种方式发送的人。

这种方式不像 Alias 那样简单,也不像 doskey 那样简单。设置完成后,所需的工作量大致相同。

我还要补充一点,本文与 Dennis Williamson 的答案合并的部分内容要好得多。您可以为同一应用程序的多个版本设置 shell 环境,例如为旧脚本设置 php 4,为测试服务器设置 php 5。

无论如何,这对我来说效果更好。

相关内容