【问题标题】:How to move to a folder and execute a Windows command line call如何移动到文件夹并执行 Windows 命令行调用
【发布时间】:2012-02-08 21:13:18
【问题描述】:

这在 Python 等语言中很容易做到,但我不确定如何在 C++ 中做到这一点。我想移动到特定文件夹,说“C:\tests”并从该文件夹运行一些命令行调用。谢谢

【问题讨论】:

    标签: c++ windows


    【解决方案1】:

    您可以使用CreateProcess() 调用在特定目录中启动进程。特别是看lpCurrentDirectory 参数:

    lpCurrentDirectory [输入,可选]

    进程当前目录的完整路径。该字符串还可以指定 UNC 路径。如果此参数为NULL,则新进程将具有相同的当前驱动器 和目录作为调用进程。 (此功能主要是为那些 需要启动应用程序并指定其初始驱动器和工作目录。)

    这个函数被Python的subprocess.Popen's constructor内部使用。

    【讨论】:

      【解决方案2】:

      您希望SetCurrentDirectory 用于更改目录,system 用于异步执行命令。 system 是一种简单的方法。如果您需要灵活性,可以使用CreateProcess

      【讨论】:

        【解决方案3】:

        创建一个bat文件并将cd命令放在那里以设置所需的路径,然后编写您的命令来执行。 Ex 在你的 bat 文件中写入 第 1 行“cd c:/tests/” line2“你要执行的命令” 之后,您可以使用 system("*.bat") 来调用您的 bat 文件。在这里查看更多相关信息http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1044654269&id=1043284392希望这会有所帮助

        【讨论】:

        • 拥有一个额外的批处理文件并不是实现它的最优雅的方式......
        猜你喜欢
        • 2013-01-15
        • 1970-01-01
        • 2014-10-21
        • 1970-01-01
        • 2015-02-13
        • 2011-11-13
        • 1970-01-01
        • 1970-01-01
        • 2011-06-12
        相关资源
        最近更新 更多