我尝试使用启动cmd打开新的cmd提示符,但我无法在新cmd中提供命令行参数。
我尝试了以下
system("start cmd") >> "system("C:\\Windows\\System32\\ipconfig");
不工作
system(start system("C:\\Windows\\System32\\ipconfig"));
不工作
答案 0 :(得分:2)
正如Dipak D Desai所说,你可以简单地使用
system("cmd /c start C:\\Windows\\System32\\ipconfig");
但如果您在非控制台应用程序中执行此操作,则会发生以下情况:
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");