批处理脚本 – 别名
无论是 Linux、macOS 还是 Windows,我们有时都需要使用终端或命令行来执行某些命令。如果在这种情况下,我们发现自己重复了一些长命令,我们可以使用别名来节省时间并使其更容易。在 Windows 中,我们可以从命令提示符或 Powershell 创建一个别名作为批处理命令。我们将看到如何在批处理脚本中创建和使用别名。
什么是别名?
Alias 是替换另一个命令的简写命令。我们可以将其视为多个或长命令的快捷命令。也可以理解为快捷键命令与实际命令的映射。快捷命令被替换为执行的命令字符串。
创建别名
要在 windows 环境或 BATCH 脚本中创建别名,我们可以打开 CMD 或 Powershell 实例。
别名的结构如下:
doskey parameters [shortcut command] = [commands to be executed]
BATCH 脚本中的简单别名如下所示:
doskey cdoc = cd C:\Users\Admin\Documents
我们使用关键字doskey来创建别名,在本例中通过指定简写命令单词cdoc来简单地创建别名,最后一条信息是我们想要用此别名替换的实际命令。因此,当我们创建此别名时,命令cdoc 会执行命令cd C:\Users\Admin\Documents ,因此我们优化并创建了一个快捷方式以节省一些时间和精力。
这将仅为此 CMD/Powershell 实例创建一个别名,一旦您退出会话或窗口,该别名将不再工作,因此是一个临时别名。
创建永久别名
要创建永久别名,我们可以在 .bat 文件中指定 doskey 的这些相同命令,该文件也称为批处理脚本或文件。使用您需要的别名创建批处理脚本/文件后,我们可以复制此批处理文件的路径并将其添加到 CMD/Powershell 目标中,以在这些环境 shell (CMD/Powershell) 的初始化中添加别名
按照以下步骤创建永久别名:
创建批处理文件
我们可以使用您喜欢的任何名称创建一个简单的文件,但扩展名为 .bat。这个批处理文件将包含我们可以在 shell(CMD/Powershell)中永久使用的别名。创建批处理文件后,您可以在单独的行中添加首选别名,如下所示:
@echo off
doskey cdoc = cd C:\Users\Admin\Documents
doskey ls = dir
您可以根据您的要求和愿望添加其他别名。我们使用了命令@echo off,以便脚本在执行时不会打印自己。
保存文件并通过 Shift + 右键单击 Windows 资源管理器中的文件来复制文件的位置。然后选择选项复制为路径,批处理文件的路径将被复制到您的系统剪贴板中。
复制文件路径后,我们可以继续下一步,将路径添加到 shell 程序目标。
将批处理文件路径添加到 CMD/Powershell 目标
- 右键单击 CMD/Powershell 图标,然后单击属性选项。
- 在那里你会得到一个应该有多个选项的窗口,单击快捷方式选项卡。
- 在快捷方式选项卡中,添加字符/k 并粘贴文件位置。
- 现在,如果我们重新启动 CMD/Powershell,则别名将起作用并将永久保留,直到我们从链接到 shell 环境的批处理文件中删除它们为止。
正如我们看到的那样,别名是从我们在 CMD 或 Powershell 的目标中创建并链接的批处理文件中加载的。通过这种方式,我们可以将多个别名保存在一个地方,或者将多个别名从不同路径组装到 Windows 中的 shell。
替换别名
要在批处理环境中替换别名,我们只需编辑要替换的命令的快捷方式名称即可。
doskey [shortcut command] = [new commands]
我们可以简单地重新定义新命令的快捷别名,就像我们在编程中处理变量一样。
注意:如果您在文件或批处理脚本中编写别名,则需要使用 doskey,但如果您仅在 CMD/Powershell 实例中创建别名,则无需在命令中编写关键字 doskey。
例如,我们可以再次编写 cdoc 别名,如下所示:
我们已将别名重新定义为一个新命令,它现在可以使用它更改为的最新命令。
删除别名
禁用或删除别名非常简单。我们可以将快捷别名命令设置为空,Shell 环境将不再将其视为有效命令。
doskey [shortcut command] =
因此,我们可以通过将别名设置为空值来删除或禁用批处理脚本中的别名。
批处理别名中的选项/参数
我们可以在别名中使用某些参数和选项来集成某些可以更多使用的功能,使别名更灵活。
有几个参数如下:parameter/option description /history to get the history of the current batch environment (commands executed in CMD/ Powershell) /exename to execute the macro with an executable in the system path /macrofile to include a file that contains the macro to be used
我们可以使用很多选项和参数来增强批处理脚本中的别名
注意:可以在 Microsoft 官方文档中找到完整的选项/参数列表。
我们甚至可以像使用普通批处理脚本一样在别名中使用命令行参数。这可能是一个非常强大的工具,尤其适用于更复杂的批处理任务和脚本。假设我们要创建一个别名,该别名创建一个文件夹并将当前目录更改为创建的文件夹。我们可以使用指定为文件夹名称的位置参数,并创建并 cd 进入文件夹。
doskey md = mkdir $1 &t cd $1
我们可以使用 $1 表示传递给别名的第一个参数,使用 $t 来分隔别名中的命令。
因此,我们现在可以在批处理脚本或 CMD/Powershell 环境中动态使用我们的别名。这可以根据命令的规范进一步使用。