-5

我必须使用system()C++ 运行以下批处理文件命令。但是,我无法正确执行命令。

如何在 C++ 中使用正确的语法编写以下命令?

CALL install\setup.exe /s /v" /qn "KEY=0000-0000-0000-0000-0000" SHORTCUT=0 INSTALLDIR=\"C:\\Program Files\\Install\\Setup\" /l+*v "%SYSTEMROOT%\Setup.log""

下面是我的 C++ 代码。

int main()
{
    system("\"install\setup.exe\" /s /v /qn KEY=0000-0000-0000-0000-0000 SHORTCUT=0     INSTALLDIR=\ C:\\Program Files\\Install\\Setup\ /l+*v %SYSTEMROOT%\\Setup.log");      
    system("\"C:\\Program Files\\install\\Setup\\setup.exe\" no");   
    system("\"C:\\Program Files\\install\\Setup\\setup.exe\" adder add -y Administrator");    
    system("\"C:\\Program Files\\install\\Setup\\setup.exe\" adder add -y user1");    
    system("\"C:\\Program Files\\install\\Setup\\setup.exe\" adder add -t Device run.exe");    
}
4

1 回答 1

2

您需要转义\字符,就像您对". 这实际上意味着您需要将它们加倍,最终得到一些可怕的东西,例如:

system("\"install\\setup.exe\" ... INSTALLDIR=\\\"C:\\\\Program Files\\\\Inst...

我建议您从几个参数开始,当您检查它是否正常工作时,逐步添加其余参数。当您错过\.

于 2013-05-23T05:08:25.250 回答