以编程方式模拟两个用户输入到批处理文件

Simulate two user inputs to a batch file programmatically

我有一个需要 2 个用户输入的批处理文件。

@echo Off
setlocal

echo.
echo Please select an opt:
echo.
echo 1
echo 2
echo.
set /p opt= Variant Number (1-2)?
echo.
echo opt selected is %opt%"

echo Please Select opt2:
echo.
echo 4
echo 5
echo.
set /p opt2= Variant Number (4-5)?
echo.
echo opt selected is %opt2%
goto end

:end
pause
endlocal

我想从 C# 程序调用此批处理文件并以编程方式输入 1 和 5。

我试过了(echo 1&&echo 5)|test.bat。但它不起作用,为 4-5 选择提供空白输出。如果只有一个输入,这工作正常;像 echo 1|test.bat.

这个批处理文件是固定的,我无权修改它。所以模拟用户输入的方法是预期的。

创建一个包含所需值的文本文件。将每一个都放在自己的行上,并确保在每个值之后按 Enter 键。然后你的命令行将是,例如:

test.bat < values.txt