Fortran Coder

标题: 求助:Fortran如何实现批处理(需要在屏幕中输入路径) [打印本页]

作者: Xun1    时间: 2022-4-27 19:43
标题: 求助:Fortran如何实现批处理(需要在屏幕中输入路径)
各位大神好!
我的问题描述如下:
我用FORTRAN编译的数学模型,需要在屏幕中输入读取文件的路径(图),然后输出结果,输出文件已经在输入文件里定义好,这个不用管。
我需要运行很多组案例,也即需要输入一次文件-等待程序跑完-结束-再用另一个输入文件跑程序,需要重复操作很多次。
怎么实现批处理,能够让程序自动循环读取我准备的很多个案例的输入文件路径?
希望各位不吝赐教!


作者: 楚香饭    时间: 2022-4-28 08:32
本帖最后由 楚香饭 于 2022-4-28 08:35 编辑

第一步,把 SHAW modify 21-9-24.exe 和 所有 *.inp 文件放在一个文件夹下。
第二步,在该文件夹下新建一个文本文件,并重命名为 “a.bat”,用记事本打开 a.bat,输入以下批处理代码,并保存。(请注意扩展名为 .bat ,而不是 .bat.txt,windows默认会隐藏扩展名)
第三步,双击 a.bat 运行。

[Bash shell] 纯文本查看 复制代码
@echo off
@title 正在批处理...
@color 0A
setlocal enabledelayedexpansion

For %%i in (*.inp) do (
  echo %%i > conin.txt
  @"SHAW modify 21-9-24.exe" < conin.txt 2>nul
)
del conin.txt
echo 批处理完成
@pause

作者: Xun1    时间: 2022-4-28 08:55
楚香饭 发表于 2022-4-28 08:32
第一步,把 SHAW modify 21-9-24.exe 和 所有 *.inp 文件放在一个文件夹下。
第二步,在该文件夹下新建一个 ...

刘涛姐夫!感谢赐教,我马上试一下!
作者: Xun1    时间: 2022-4-28 09:05
楚香饭 发表于 2022-4-28 08:32
第一步,把 SHAW modify 21-9-24.exe 和 所有 *.inp 文件放在一个文件夹下。
第二步,在该文件夹下新建一个 ...

你好,我的模型运行,需要覆盖原来的输出文件,需要输入Y,然后按Enter才能执行(图),但是批处理文件按了Enter直接就退出去了,没有反应。这个怎么解决呢?
作者: Rookie    时间: 2022-4-28 09:24
同 和能 学生帮顶
作者: 楚香饭    时间: 2022-4-28 09:26
[Bash shell] 纯文本查看 复制代码
@echo off
@title 正在批处理...
@color 0A
setlocal enabledelayedexpansion

For %%i in (*.inp) do (
  echo %%i > conin.txt
  echo y >> conin.txt
  @"SHAW modify 21-9-24.exe" < conin.txt 2>nul
)
del conin.txt
echo 批处理完成
@pause

作者: Xun1    时间: 2022-4-28 09:44
楚香饭 发表于 2022-4-28 09:26
[mw_shl_code=bash,true]@echo off
@title 正在批处理...
@color 0A

谢谢!我的问题已解决,之后我也会好好学习批处理,向您学习。




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2