2015-05-04 54 views
2

我试图启动cmd,打开新的命令提示符,但我不能够给新的cmd命令行参数..我要打开新的命令提示符和插入参数的命令提示符

我试着用以下

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

不工作

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

不工作

+0

你想在哪个平台/语言中执行此操作? – murtazat

+0

在C语言中。实际上想在微过滤器驱动程序中实现... – UKNOWN

回答

1

启动一个单独的CMD赢DOWS,你需要调用CMD.EXE:

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

我尝试过:system(“start cmd/c C:\\ Windows \\ System32 \\ ipconfig”); 但我的屏幕没有保持关闭 – UKNOWN

+0

谢谢,我得到了outout。 – UKNOWN

+1

好..如果您使用上述接受答案获得解决方案。这将有助于一些人有同样的问题.. –

2

如迪帕克·d·德赛说,你可以简单地使用

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的注意)

+0

谢谢,我得到了outout ... – UKNOWN