尝试从 .bat 文件执行 gcc (MinGW64) 时出现“没有这样的文件或目录”错误

问题描述

如果我直接在 cmd 中输入以下代码,一切正常:

cd C:\mingw-w64-810\mingw64\bin

gcc "D:\Meus Documentos\MinGW64\test.c" -o "D:\Meus Documentos\MinGW64\test.exe"

但我正在努力通过以下 .bat 文件来完成同样的事情:

@cd /d "C:\mingw-w64-810\mingw64\bin\"
@gcc "D:\Meus Documentos\MinGW64\test.c" –o "D:\Meus Documentos\MinGW64\test.exe"
@pause

我不断收到错误“没有这样的文件或目录”。很明显,.\Meus Documentos\. 中的空格是问题的根源,但我不知道如何通过 .bat 文件D:\Meus Documentos\MinGW64\test.cD:\Meus Documentos\MinGW64\test.exe 正确传递给 gcc。

我非常确定上述方法会奏效。

解决方法

这是我第一次使用 gcc,所以我从网页上复制了命令。不知何故,“-o”正在被“ÔÇôo”之类的东西解释。

可以通过复制和运行来检查:

@echo gcc "D:\Meus Documentos\MinGW64\test.c" –o "D:\Meus Documentos\MinGW64\test.exe"
@pause
,

你说得对。 MingW-w64 中的空格是不可接受的。所以MingW-w64不应该安装在任何有空格的目录下,比如“程序文件”。所以建议你卸载MinGW64直接在D:\

下重新安装

但是,如果您真的坚持当前的状态。我可能会建议您在“D:\Meus Documentos\MinGW64”这个地方打开一个命令提示符,然后尝试

gcc test.c -0 test.exe

不过,后面的建议不是针对此问题的推荐解决方案。