在另一个目录中执行文件

时间:2013-06-23 20:32:42

标签: c++ windows

请考虑以下事项:

我在C:\Documents\myProgram.exe中有一个c ++程序 使用此代码:     system("start C:\\somefolder\\start.bat");

这将在C:\Documents\而不是`C:\ somefolder \'中启动目标文件(start.bat)。

我的问题是,如何在其自己的目录而不是myProgram的目录中执行该文件?

理论上这就是我想用c ++实现的目标:     cd C:\somefolder\,     start start.bat

2 个答案:

答案 0 :(得分:3)

如果您还在Windows上,请使用ShellExecute,您可以设置更多内容,甚至可以启动文档,链接等。

答案 1 :(得分:2)

要做到这一点,你可以做两件事之一(我发现)。

A)您可以在unistd.h中使用chdir();见http://pubs.opengroup.org/onlinepubs/7908799/xsh/unistd.h.html

B)您可以使用GNU库中名为文件系统接口的内容来获取更高级的内容;见http://www.gnu.org/software/libc/manual/html_node/File-System-Interface.html#File-System-Interface

无论如何,祝你好运,我希望你找到一些有用的东西!