我在文件夹E:\ TROUBLESHOOT中编译了Fortran 90代码“NewSourceID.exe”。这使用输入文件MAIN.IN在同一个文件夹中。我在同一个文件夹E:\ TROUBLESHOOT中使用批处理脚本run_sa.BAT来运行此可执行文件。这个批处理脚本是在运行时由另一个VB代码生成的(这是一个要求,不能被废除),批处理脚本如下所示。编译Fortran代码在错误的目录中查找输入参数文件
“E:\ TROUBLESHOOT \ NewSourceID.exe”“E:\ TROUBLESHOOT \ MAIN.IN”。
有两种情况 1.当我进入文件夹E:\ TROUBLESHOOT并双击批处理脚本run_sa.BAT时,NewSourceID.exe运行正常,没有任何问题。它在显示路径C:\ WINDOWS \ system32 \ command.exe的命令提示符窗口上运行。
- 当我通过在运行时生成批处理脚本从VB脚本执行相同的操作时,出现以下错误。
“ C:\ Documents和Settings \ epsuser \ My文档>” E:\ TROUBLESHOOT \ NewSourceID.exe” “E:\ TROUBLESHOOT \ MAIN.IN” forrtl:重度(29):文件找不到,单元31,文件C:\ Documents and Settings \ eps user \ My Documents \ MAIN.IN
代码试图在路径C:\ Documents and Settings \ epsuser上找到输入文件MAIN.IN \我的文档\ MAIN.IN这是不正确的路径来查找该文件 这发生时,我用一个修改的NewSourceID.exe替换早期代码用于甚至从VB使用以下路径正确运行。 C:\ WINDOWS \ system32 \ command.exe -E:\ TROUBLESHOOT \ run_sa.BAT。如何才能做到这一点?
您应该向我们展示代码,fortran exe如何获取文件名,否则我们无法知道,Aradi的答案对您来说已经足够了。或者只是接受他的答案。 –