从 C 程序调用 .bat 文件失败,但如果双击它可以工作

Calling a .bat file from C program fails but if double click it works

我有这个 file.bat :

cd "C:\Program Files(x86)\Anydesk" && anydesk.exe

如果我双击它,它可以正常工作并且可以满足我的要求。

现在我尝试在我的 C 程序中启动这个 bat 文件:

system("path\file.bat");

但它什么也没做。我看到一个超快的 cmd 打开,没有别的。 我想知道它是否失败是因为它正在调用另一个应用程序?但是我不确定。

如何进行这项工作?

.bat 不是可执行文件。它是由 cmd.com.

处理的脚本

所以你需要执行它,将你的.bat作为参数:

system("cmd /C path\script.bat");

/C 键将告诉您的 cmd,执行 bat 并在 bat 完成后退出。您可以使用 /K 进行调试(执行并在完成后保持打开状态)。