Fortran Coder

标题: 有关Fortran中System函数的问题 [打印本页]

作者: 114514    时间: 2023-8-2 07:07
标题: 有关Fortran中System函数的问题
我有一个main.exe的文件,它执行的目的是跳转到test这个文件夹下执行a.exe这个文件,可我运行main.exe这个文件时,报了错,错误信息是这样的:PS C:\Users\yeha\Desktop\新建文件夹 (2)> .\main
'.\a' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
end2

解决了好久都没解决好
main.exe之前是这样的:
program Main

    if ( System(Trim('cd test')) == 0 ) then

        if ( System(Trim('.\a')) == 0 ) then

            print *,'OK'

        else

            print *,'end2'
            stop

        end if;

    else

        print *,'end1'
        stop

    end if;


endcommand_abo(我是在test的父目录下的,test文件夹下也有a.exe这个文件)




求各位大佬帮我解决这个问题,谢谢了
我使用的编辑器是Vscode,编译器是gfortran,操作系统是Win10

作者: li913    时间: 2023-8-2 14:15
1、如果把 a.exe需要的输入输出文件置于工作目录(main.exe所在位置),则可以直接调用 call execute_command_line( 'test/a.exe')。 execute_commond_line 是标准用法,和 system等价。
2、如果a.exe需要的输入输出文件在test中,则比较麻烦。需要先切换工作目录到test (CHANGEDIRQQ函数),执行a.exe,  切换回main.exe的目录
作者: 114514    时间: 2023-8-2 19:47
li913 发表于 2023-8-2 14:15
1、如果把 a.exe需要的输入输出文件置于工作目录(main.exe所在位置),则可以直接调用 call execute_command ...

谢谢,问题已经解决了,感谢大佬的帮助




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