Linux 下的 alias 命令可以简化复杂命令的输入,对日常工作帮助很大。Windows 有没有类似的工具或命令?
Windows 下有个系统自带的命令叫 doskey,有点类似 Linux 下的 alias 命令。
doskey 的日常用法如下:
C:> doskey ps=tasklist
C:> doskey nt=netstat -anp tcp
C:> doskey ip=ipconfig
C:> doskey kill=taskkill $*
C:> doskey np=notepad $*
C:> doskey cat=type $*
C:> doskey alias=doskey /macros
其中 doskey /macros 命令会显示当前系统定义的所有 alias ,执行时显示如下:
Windows 也可以像 Linux 执行 source .bashrc 一样导入所有的命令别名。将定义的 alias 写入 aliases.bat 文件中,在 cmd 中执行 .aliases.bat 导入。
C:UsersAdministrator>doskey cat=type $*
C:UsersAdministrator>cat c:binaliases.bat
off
doskey cat=type $*
doskey np=notepad $*
doskey ip=ipconfig
doskey nt=netstat -anp tcp
doskey kill=taskkill $*
doskey ps=tasklist
doskey alias=doskey /macros
doskey 命令不支持管道,没法组合多个命令形成复杂的命令。当需要使用管道、传参、位置变量时,建议使用 bat 脚本代替 doskey 完成复杂命令的组合嵌套。
将 bat 脚本丢到 PATH 环境变量所在的目录,使用时可以像使用命令一样使用,不需要加 bat 后缀。缺点就是一个命令需要占用一个文件,比如查指定端口的命令:
C:UsersAdministrator>type c:binpsa.bat
@echo off
netstat -anp tcp | findstr %*
当需要删除一个 alias 时,使用 doskey name= 删掉指定的命令别名,doskey 只对当前窗口生效,重开一个窗口需要重新加载 aliases.bat 脚本。
使用 doskey 可以起到缩短命令长度的作用,配合 bat 脚本可以减轻一些日常输入的工作量。
参考:
https://stackoverflow.com/questions/20530996/aliases-in-windows-command-prompt
原文始发于微信公众号(生有可恋):Windows 下的 alias 命令
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论