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

Ben*_*kes 19 windows shell alias command-line

如何在 Windows 的命令提示符中创建命令别名,就像我一样bash

doskey论坛帖子中发现了,所以我可以做一些类似的事情:

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

...现在命令的ls行为更像ls在 Unix 上。(我ls经常输入cmd,它甚至都不好笑。)

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

Den*_*nis 39

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

快速分步指南:

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

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

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 $* )
Run Code Online (Sandbox Code Playgroud)

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

仅为当前会话添加新别名,您可以使用alias name=command.


小智 10

也有点跑题——

使用 PowerShell 而不是cmd.exe命令行。好消息是 PowerShell 相当于.bash_profile, 并且像cmd.exe命令行一样运行。它带有内置的别名生成功能。坏消息是,如果您想做比简单cmd.exe命令更复杂的事情,则需要一定的学习曲线。

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


bub*_*ubu 0

在这种情况下可以使用 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 /?
更多细节