2012-12-27 5 views
-2

Okey, 그래서 C# 프로그램이 두 개의 콘솔 명령을 실행하도록합니다.C# 콘솔 명령 실행

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

내 문제는 C#을이 경로에 추가 "의를 처리 할 수 ​​있다는 것입니다. 당신이 명령 줄 매개 변수에 포함 된 "에 문제가 의미하는 경우

+0

글쎄, 무엇을 시도 했습니까? –

+3

"제 문제는 C#이 추가 경로를 처리 할 수 ​​없다는 것입니다 - 어떻게 의미합니까? 그리고 당신이 시도한 것 (http://whathaveyoutried.com)을 설명하고 현재 코드를 게시하여 어디서 붙어 있는지 설명 할 수 있습니까? ? – Oded

답변

6

(또한 행운와 이스케이프 시퀀스를 사용하려고) 내가 불이 다른 문자열로 할 필요가 나는이 그대로 문자열 리터럴 경로에서 \ 탈출하는 것을 방지하기 위해 (@로 시작하는 것들)을 사용했다

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

: 당신은 단순히을 탈출해야합니다 에럴.

+0

두 번째 줄에서 "프로그램을 찾을 수 없습니다"라는 메시지가 나타 났으므로 "icacls"의 공간과 그 작업 공간을 완벽하게 제거했습니다. –

+0

위대한 응답으로 받아 들여지는 것이 맞습니다! – Mataniko

+0

@Mataniko - 오 ~ 내 잘못입니다. 답변 됨, 공간이 삭제되었습니다. – Oded