【发布时间】:2012-02-08 21:13:18
【问题描述】:
这在 Python 等语言中很容易做到,但我不确定如何在 C++ 中做到这一点。我想移动到特定文件夹,说“C:\tests”并从该文件夹运行一些命令行调用。谢谢
【问题讨论】:
这在 Python 等语言中很容易做到,但我不确定如何在 C++ 中做到这一点。我想移动到特定文件夹,说“C:\tests”并从该文件夹运行一些命令行调用。谢谢
【问题讨论】:
您可以使用CreateProcess() 调用在特定目录中启动进程。特别是看lpCurrentDirectory 参数:
lpCurrentDirectory [输入,可选]
进程当前目录的完整路径。该字符串还可以指定 UNC 路径。如果此参数为NULL,则新进程将具有相同的当前驱动器 和目录作为调用进程。 (此功能主要是为那些 需要启动应用程序并指定其初始驱动器和工作目录。)
这个函数被Python的subprocess.Popen's constructor内部使用。
【讨论】:
您希望SetCurrentDirectory 用于更改目录,system 用于异步执行命令。 system 是一种简单的方法。如果您需要灵活性,可以使用CreateProcess。
【讨论】:
创建一个bat文件并将cd命令放在那里以设置所需的路径,然后编写您的命令来执行。 Ex 在你的 bat 文件中写入 第 1 行“cd c:/tests/” line2“你要执行的命令” 之后,您可以使用 system("*.bat") 来调用您的 bat 文件。在这里查看更多相关信息http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1044654269&id=1043284392希望这会有所帮助
【讨论】: