C#执行控制台命令

时间:2012-12-27 18:32:33

标签: c# console

Okey,所以我希望我的C#程序执行以下两个控制台命令。

takeown /f "c:\windows\system32\Utilman.exe"  
icacls "c:\windows\system32\Utilman.exe" /grant administrators:F  

我的问题是C#无法处理路径中的其他内容。(也尝试使用转义序列而没有运气)

1 个答案:

答案 0 :(得分:6)

如果您的意思是命令行参数中嵌入"有问题,您只需要将它们转义:

Process.Start("takeown", @"/f ""c:\windows\system32\Utilman.exe""");
Process.Start("icacls", 
              @"""c:\windows\system32\Utilman.exe"" /grant administrators:F");

我使用了逐字字符串文字(以@开头的字符串文字),以避免必须转义路径中的\,因为我需要处理其他字符串文字。