代码::块:Fortran EXECUTE_COMMAND_LINE指定的路径不存在

问题描述

我试图在Code :: Blocks中使用EXECUTE_COMMAND_LINE(Fortran)通过Windows命令提示符下的快捷方式启动程序。我已经多次检查了路径和语法,并且一切都正确,但是,每当我编译并运行代码时,当脚本到达此命令时,我都会收到一条错误消息,指出“指定的路径不存在。请检查路径,然后再试一次。”。 更奇特的是,在命令提示符下直接在EXECUTE_COMMAND_LINE中使用完全相同的命令,可以成功启动应用程序,而不会出现任何问题。 我使用的命令如下:

CALL EXECUTE_COMMAND_LINE("start C:\Users\dimpa\Desktop\Giannako\Optimization\VBA\SLDA.lnk")

我运行Windows 10,代码:: Blocks 20.03,并具有用于Fortran的MinGW编译器。

还使用SYSTEM获得了完全相同的结果。另外,如果有什么用可以帮助我弄清楚发生了什么,该命令也可以正常工作:

CALL EXECUTE_COMMAND_LINE("start C:\Users\dimpa\Desktop\Giannako\Optimization\VBA")

将文件夹VBA打开到我的文件资源管理器。该问题似乎与打开应用程序的快捷方式有关。此外,即使在IDE中(程序文件中的任何内容都无法访问),打开位于dimpa \ Appdata文件夹中的文件(原始的.exe,而不是快捷方式)似乎仍然可以正常工作。

谢谢。

解决方法

干杯,经过无休止的试验,我似乎找到了解决方法。

问题在于所使用的快捷方式的原始程序路径中包含空格。显然,编译器不喜欢执行快捷方式,该快捷方式最初可能在初始路径中不包含空格,但是当重定向到原始程序时可能会遇到各种各样的情况。

我尝试执行的快捷方式包含一个通向Program Files的路径,并打开了一个要在上述程序(“ / m”)中执行的附加插件。在意识到尝试使用150个字符串长度的目标来运行快捷方式会使事情复杂化之后,我直接将快捷方式的目标输入Windows cmd,它运行得非常好,并且更易于剖析和检查以便正确编写代码:

CALL SYSTEM(""Full Path to Program" "/m" "Full Path to Addon"")

希望这可以帮助面临类似问题的人!

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...