如何在Batch文件中模拟按下回车键,解决exe运行后需手动回车退出问题
失效原因
- 原代码使用
start命令启动目标程序,会为程序开辟独立的新控制台窗口,管道输入无法传递到新窗口内的进程,所以echo |写法不生效 - 模拟回车键需要输出一个空白换行,
echo yes输出的是yes+换行,不符合程序的输入要求
修复后完整代码
@echo off CD "C:\Users\Acuna\Desktop\simulations" for /D /r %%d in ("01*") do ( pushd "%%d" rem 输出空行等价于按回车键,直接传递给目标程序 echo.|hydro_2dm.exe popd )
可选调整方案
- 若
echo.不生效,可以替换为兼容性更好的echo(,写法为echo(|hydro_2dm.exe - 若程序运行过程中有多次要求按回车的提示,可以连续输出多个空行:
echo.&echo.&echo.|hydro_2dm.exe,等同于连续按3次回车 - 若必须保留
start启动方式,可以修改为嵌套cmd调用传递输入:start "" /wait cmd /c "echo.|hydro_2dm.exe"
内容的提问来源于stack exchange,提问作者eacuna
相关产品推荐
相关产品推荐

