Fortran Coder

查看: 1679|回复: 2
打印 上一主题 下一主题

[求助] 有关Fortran中System函数的问题

[复制链接]

4

帖子

2

主题

0

精华

新人

F 币
31 元
贡献
10 点
跳转到指定楼层
楼主
发表于 2023-8-2 07:07:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我有一个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
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

835

帖子

2

主题

0

精华

大宗师

F 币
3926 元
贡献
2334 点
沙发
发表于 2023-8-2 14:15:13 | 只看该作者
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的目录

4

帖子

2

主题

0

精华

新人

F 币
31 元
贡献
10 点
板凳
 楼主| 发表于 2023-8-2 19:47:39 | 只看该作者
li913 发表于 2023-8-2 14:15
1、如果把 a.exe需要的输入输出文件置于工作目录(main.exe所在位置),则可以直接调用 call execute_command ...

谢谢,问题已经解决了,感谢大佬的帮助
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-12-24 00:54

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表