Okey,所以我希望我的C#程序执行以下两个控制台命令。
takeown /f "c:\windows\system32\Utilman.exe"
icacls "c:\windows\system32\Utilman.exe" /grant administrators:F
我的问题是C#无法处理路径中的其他内容。(也尝试使用转义序列而没有运气)
答案 0 :(得分:6)
如果您的意思是命令行参数中嵌入"
有问题,您只需要将它们转义:
Process.Start("takeown", @"/f ""c:\windows\system32\Utilman.exe""");
Process.Start("icacls",
@"""c:\windows\system32\Utilman.exe"" /grant administrators:F");
我使用了逐字字符串文字(以@
开头的字符串文字),以避免必须转义路径中的\
,因为我需要处理其他字符串文字。