在C ++中运行命令,然后在该程序中运行命令

时间:2018-09-13 09:00:44

标签: c++ cmd

在c ++中,有一种方法可以在已使用system()打开的程序中运行命令,所有这些均以编程方式完成。

即:

打开git bash

system("start \"\" \"c:\\Program Files\\Git\\bin\\sh.exe\" --login -i");

然后在新打开的git bash窗口中cd返回两个目录

"cd ../../" 

2 个答案:

答案 0 :(得分:2)

假设您在Windows上,启动命令可以使用/D设置工作路径

start /D "./../.." "c:/Program Files/Git/in/sh.exe" --login -i

答案 1 :(得分:0)

不知道我是否理解正确,但是为什么不只启动bash,又为什么不从C ++程序启动bash脚本呢?脚本中的所有命令都将执行。

system("/bin/bash -c myscript.sh");

将启动Bash,但是将执行脚本文件myscript.sh中的命令,而不是交互式shell。

但是,我将使用一种不同的方法,而不是system(...)。请参见exec*(...)函数家族和fork()调用。以this question and answers为例,该门户中有成千上万的页面可供浏览,并且有数十个问题。