Windows 批处理:如何在单行中 运行 多个别名

Windows batch: How can I ran multiple aliases in single line

我想为别名组合设置别名。

我的别名是这样声明的:

doskey h=cd c:\sources\dev\folder1
doskey t=cd c:\sources\dev\folder2

我想创建执行一系列操作的别名。像这样:

h && somecommand && t  

但是,当我 运行 这个时,只有第一个命令被执行。问题可能出在哪里?

我认为你不能在一行中执行多个别名。

我认为这是因为 this little nugget:

You cannot run a doskey macro from a batch program

但是您可以将多个命令放在一个别名中:

doskey test=dir $T echo dir completed...

Anders 已经回答了这个问题,我想补充的是 syntax 应该是“^&”而不是“&”,所以命令应该是

doskey test = cd c:\sources\dev\folder1 ^&^& somecommand ^&^& cd c:\sources\dev\folder2