我想打开新的cmd提示符并从cmd提示符插入参数

时间:2015-05-04 04:53:13

标签: c windows cmd

我尝试使用启动cmd打开新的cmd提示符,但我无法在新cmd中提供命令行参数。

我尝试了以下

system("start cmd") >> "system("C:\\Windows\\System32\\ipconfig");

不工作

system(start system("C:\\Windows\\System32\\ipconfig")); 

不工作

2 个答案:

答案 0 :(得分:2)

正如Dipak D Desai所说,你可以简单地使用

system("cmd /c start C:\\Windows\\System32\\ipconfig");

但如果您在非控制台应用程序中执行此操作,则会发生以下情况:

  • Windows将创建一个新的cmd窗口
  • 它将在该窗口中执行ipconfig
  • 一旦程序ipconfig结束,它就会关闭窗口。

如果希望在命令结束后窗口保持打开状态,则可以使用:

system("cmd /c start cmd /k C:\\Windows\\System32\\ipconfig");

第一个cmd /c允许传递作为内部命令的命令start。第二个cmd /c(或cmd /k)启动一个新shell(cmd.exe),但要求它在执行第一个命令后不要关闭,而是打开一个命令循环。

事实上,第一个cmd /c不是必需的,因为system调用暗示了它。所以它应该从命令中省略,即使它是无害的(感谢@eryksun注意)

答案 1 :(得分:1)

启动单独的CMD Windows,您需要调用cmd.exe:

system("cmd.exe /c C:\\Windows\\System32\\ipconfig");