问题描述
所以我想用空行,someText和someOtherText填充它
(echo. echo someText echo someOtherText) | call config.exe remove
但是我遇到了这个错误:
Cannot read keys when either application does not have a console or when console input has been redirected. Try Console.Read.
可能是问题所在,请至少建议搜索方向?
echo. | call config.exe remove
解决方法
您的config.exe
根本不接受重定向。它需要真实的控制台缓冲区。
- 如果要使其自动化,可以创建另一个控制台应用程序,
- 使用CreateProcessW启动
config.exe
- 使用STD_INPUT_HANDLE(ASCII,
\n
分隔行)或WriteFile(如果需要unicode字符)将行写入WriteConsoleInputW - 写入完成后,只需等待
config.exe
终止并返回退出代码
-
另一个更简单的选择是ConEmu terminal(我是作者)。 GuiMacro scripting可以从控制台轻松使用。因此,您可以从提示符处运行,也可以将其包装在批处理文件中(在ConEmu中运行):
ConEmuC.exe -GuiMacro打印“ \ nsomeText \ nsome Other Text \ n”并删除config.exe