Cmd 在管道后保留doskey上下文,或,和

Cmd 在管道后保留doskey上下文,或,和,cmd,environment,doskey,Cmd,Environment,Doskey,我有以下方式定义的多个Doskey: doskey ll=dir $* doskey grep=findstr $* doskey make=mingw32-make $* 我想在单行命令中结合使用它们,例如: ll | grep my_folder 或 但是在第一个pipe/not/and操作符之后,doskey不再出现,因为cmd无法识别这些命令。例如,当单个make命令工作时,调用echo hello&&make会告诉我make不被识别为命令 有没有办法保存doskey上下文,以便我可

我有以下方式定义的多个Doskey:

doskey ll=dir $*
doskey grep=findstr $*
doskey make=mingw32-make $*
我想在单行命令中结合使用它们,例如:

ll | grep my_folder

但是在第一个pipe/not/and操作符之后,doskey不再出现,因为cmd无法识别这些命令。例如,当单个
make
命令工作时,调用
echo hello&&make
会告诉我make不被识别为命令

有没有办法保存doskey上下文,以便我可以像上面所写的那样将它们链接在一起

另外,同样的问题也适用于使用doskey运行批处理文件,有没有一种方法也可以保留该文件的上下文

我听说过doskey的$T论点,但我不太确定我是否理解它


提前感谢您的帮助

我遇到了类似的问题…
以下宏未处理|字符后的节:

doskey system=systeminfo | findstr /C:"OS"
但是,以下情况确实发生了:

doskey system=systeminfo $B findstr /C:"OS"

因此,看起来doskey的管道符号是$B。

doskey仅用于交互使用。它在批处理文件脚本中不起作用。这看起来很有效,但它在某种程度上违背了短命令的意义
ll | cmd.exe/C findstr“new”
@lit感谢您对批处理文件的说明,但是使用重定向到新cmd实例并不能解决任何问题,因为新执行的cmd不会继承doskey设置
doskey system=systeminfo $B findstr /C:"OS"