【发布时间】:2019-02-12 14:49:51
【问题描述】:
我有多个按以下方式定义的 doskey:
doskey ll=dir $*
doskey grep=findstr $*
doskey make=mingw32-make $*
我想在一行命令中结合使用它们,例如:
ll | grep my_folder
或
make && make install
但是在第一个管道/非/和运算符之后,doskeys 似乎不再存在,因为 cmd 无法识别命令。例如,虽然单个 make 命令有效,但调用 echo hello && make 会告诉我 make 未被识别为命令。
有没有办法保留 doskey 上下文,以便我可以将它们链接在一起,如上所述?
另外,同样的问题也适用于使用 doskeys 运行批处理文件,有没有办法也保留上下文?
我听说过 doskey 的 $T 参数,但我不太确定我是否理解它。
提前感谢您的帮助
【问题讨论】:
-
DOSKEY 仅用于交互使用。它不适用于批处理文件脚本。 stackoverflow.com/questions/36616151/…
-
这看起来很有效,但它有点违背了短命令的意义。
ll | cmd.exe /C findstr "new" -
@lit 感谢您对批处理文件的澄清,但是使用重定向到新的 cmd 实例并不能解决任何问题,因为新执行的 cmd 不会继承 doskey 设置
标签: cmd environment doskey