如何为多个命令定义 DOSKEY 别名?

How to define a DOSKEY alias for multiple commands?

根据对 this question 的回答进行后续

对于 Windows 命令提示符,我可以按如下方式定义别名:

@echo off
DOSKEY ns=npm start
DOSKEY nsr=npm run serve

我想定义一个将这两个命令结合起来的别名。我尝试了以下方法:

@echo off
DOSKEY nss=npm start && npm run serve

当我尝试打开命令提示符时,window 会打开,但不会出现 > 提示符。

我认为包含 && 会导致问题。

尝试将其写入批处理文件,然后使用 DOSKEY 命令调用批处理文件

REM do_npm.bat
npm start
npm run serve

然后,运行 DOSKEY 命令

DOSKEY npm=do_npm.bat

看看是否适合你

DOSKEY 的命令分隔符是 $T

以你的例子为例:

DOSKEY nss=npm start $T npm run serve

我查看了关于超级用户的 answer to a question。以下方法解决了我的问题:

@echo off
DOSKEY nss=npm start ^&^& npm run serve

我的方法是从文本文件加载宏:

a.bat:
    @doskey /macrofile=C:\%HOMEPATH%\bin\aliases.txt

在宏文件中,&& 有效:

aliases.txt:
    cl=cd /d $* && dir

然后,如果我从 HOMEPATH 中键入“cl bin”,它会执行“cd /d bin”,然后执行“dir”:

C:\Users\mike> cl bin
09/17/2020  09:27 AM             1,303 a.bat
09/30/2020  03:17 PM               886 aliases.txt