【发布时间】:2020-09-07 09:34:32
【问题描述】:
我正在尝试在 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,Code::Blocks 20.03 并拥有 Fortran 的 MinGW 编译器。
也使用 SYSTEM 得到完全相同的结果。另外,如果它有助于我弄清楚发生了什么,这个命令就可以正常工作:
CALL EXECUTE_COMMAND_LINE("start C:\Users\dimpa\Desktop\Giannako\Optimization\VBA")
在我的文件资源管理器中打开文件夹 VBA。该问题似乎与打开应用程序的快捷方式有关。此外,即使在 IDE 中打开位于 dimpa\Appdata 文件夹中的文件(原始 .exe,而不是快捷方式)似乎也可以正常工作,其中 Program 文件中的任何内容都无法访问。
提前致谢。
【问题讨论】:
-
我不知道,但我建议在任何地方避免使用反斜杠
`。 Windows 可以毫无问题地理解正斜杠/。反斜杠可能被解释为不可预知的转义字符。试试start C:/Users/dimpa/Desktop/Giannako/Optimization/VBA/SLDA.lnk -
@VladimirF 感谢您的回复。我尝试用 Code::Blocks 中的正斜杠替换反斜杠,得到了完全相同的消息。直接在cmd中输入它,就像一个魅力。由于某种原因,Code::Blocks 或脚本本身似乎无法访问或无法识别该路径。我不认为这是由于管理员权限,因为我尝试以管理员身份打开 IDE 并运行代码无效。也许在编译过程中发生了什么?我真的不知道。
标签: fortran codeblocks