-2

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

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

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

4

1 回答 1

6

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

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

我使用逐字字符串文字(以 开头的字符串@)来避免\像其他字符串文字一样必须在路径中转义。

于 2012-12-27T18:35:12.693 回答