我有一个简单的编译Fortran程序,如下所示:
program main
integer :: i1,i2,i3
print *,"Enter input 1"
read *, i1
print *,"Enter input 1"
read *, i2
print *,"Enter input 1"
read *, i3
print *, "you have entered", i1, i2, i3
end program main
我想编写一个批处理文件,该文件将自动输入三个值,然后按住屏幕输出,但也有机会让用户输入其他命令。这是我到目前为止在批处理文件中提出的:
D:
cd D:\TEMP\TEST\TEST\Debug
(echo 1
echo 2
echo 3) | test
pause>nul
这接近我正在寻找的但它有一些问题:
请告诉我这个简单问题的清洁解决方案。
答案 0 :(得分:0)
如果Fortran程序将从stdin读取,为什么不创建一个包含输入值的临时文件并将其重定向到Fortran程序?
CD /D D:\TEMP\TEST\TEST\Debug
SET "TEMP_FILE=%TEMP%\fortran_program_%RANDOM%.tmp"
IF EXIST "%TEMP_FILE%" (DEL "%TEMP_FILE%")
ECHO>>"%TEMP_FILE%" 1
ECHO>>"%TEMP_FILE%" 2
ECHO>>"%TEMP_FILE%" 3
test <"%TEMP_FILE%"
IF EXIST "%TEMP_FILE%" (DEL "%TEMP_FILE%")
pause>nul