从 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
进行调试(执行并在完成后保持打开状态)。
我有这个 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
进行调试(执行并在完成后保持打开状态)。