怎样才能像使用一样在 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
。
快速分步指南:
- 创建一个新的批处理文件,将其命名为
Alias.bat
。复制/粘贴以下文本。提示:我建议C:\Bin
为所有命令行工具创建一个文件夹。 - 打开登记册
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
。 - 添加字符串值命名
Autorun
并将值设置为Alias.bat
文件的绝对路径。 - 完毕。
每次打开命令提示符时,此批处理文件都会执行。
内容别名脚本
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。
无论如何,这对我来说效果更好。