如果我定义这样的命令:
DOSKEY say=echo $*
然后像这样运行它:
say hello&&say goodbye
输出为:
hello
'say' is not recognized as an internal or external command,
operable program or batch file.
我希望它打印hello
两goodbye
行。这是怎么回事?
答案1
根据一些测试,似乎发生的情况是,所有内容都hello&&say goodbye
被传递给您的第一个say
宏(以及同一行中的其他所有内容)。不幸的是,您无法从其他宏中调用宏。
为了演示,我稍微改变了你的宏:
C:\>doskey say=echo "$*"
C:\>doskey /macros
say=echo "$*"
C:\>say hello&&say goodbye
"hello&&say goodbye"
到目前为止,我还没有找到解决这个问题的方法。