0
A
回答
0
请问您可以发布您的bat文件吗?这可能是notepad.exe的路径与手动执行它时运行bat文件的位置有关,但是当您从C应用程序调用它时,将从C可执行文件的位置运行它,以便它不再找到NOTEPAD.EXE或者你可能会传递到FIEL NOTEPAD.EXE
0
它必须与您的notepad.exe的路径做,如果你是在Windows上,然后尝试添加的notepad.exe的路径环境变量“路径”,这可能会简化很多事情。
0
你说你从C程序执行批处理文件。你确定当你开始执行批处理文件时,环境是否正确设置?
如果在执行批处理文件时没有正确设置PATH环境变量,那么批处理文件将不会执行。但是从命令行启动时批处理文件可以正常工作,因为在这种情况下环境已正确设置。
0
start
是cmd.exe
的内部命令;它本身不是一个程序。要运行start
,您需要运行cmd.exe
并让cmd.exe
执行start
的事情。
的system()
C函数执行一个shell(在Windows可能cmd.exe
),并传递参数给壳 - 和start
“作品”。它需要“内部” cmd.exe
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(void) {
// system "works"
system("start C:\\tmp");
// this don't work
execl("start", "start", "C:\\Windows", (char*)0);
printf("Oops: execl with start failed\n");
// this "works"
execl("C:\\Windows\\System32\\cmd.exe", "start", "/c", "start", "C:\\Windows\\", (char*)0);
printf("Oops: execl with <path>\\cmd.exe failed\n");
return 0;
}
相关问题
- 1. 这是涡轮C++
- 2. 从C批处理文件运行批处理文件#
- 3. C#控制台调用批处理多个批处理文件
- 4. $(文件)。就绪(函数(){Rails的涡轮链路与涡轮链接运行此
- 5. 涡轮链轮和capistrano
- 6. 批处理文件“”
- 7. 批处理文件
- 8. 批处理文件
- 9. 批处理文件
- 10. 清理批处理文件
- 11. 在c#中执行批处理文件
- 12. 在c中创建批处理文件#
- 13. 在C#中执行批处理文件#
- 14. 执行多个批处理文件c#
- 15. 从C调用批处理文件#
- 16. Visual C#添加批处理文件
- 17. 从C#执行批处理文件#
- 18. 批处理文件不会在批处理文件
- 19. 批处理文件,创建另一个批处理文件
- 20. 批处理文件:另存为批处理文件(.cmd)
- 21. 将批处理文件包含在批处理文件中
- 22. 如何从批处理文件中调用批处理文件?
- 23. Oracle在批处理文件中导入批处理文件
- 24. 从另一个批处理文件运行批处理文件
- 25. 如何从批处理文件调用批处理文件
- 26. 从另一个批处理文件更新批处理文件
- 27. 将批处理文件写入批处理文件
- 28. 在批处理文件中运行几个批处理文件
- 29. 批处理文件,使另一个批处理文件执行
- 30. 批处理文件,写入另一个批处理文件
您可以发布其推出的批处理文件的代码,:本身“不工作”和
start
-的
exec*
功能不加载外壳请 ? –你可以显示批处理文件的代码吗? –