2017-03-02 6 views
2

"이 시스템은 파일 지정을 찾을 수 없습니다"가 발생합니다. Process.Start를 (...)는 내가</p> <pre><code>cmd.exe /c taskkill.exe /f /im explorer.exe & explorer.exe </code></pre> <p>를 사용하여 정확하게 내가 원하는 무엇을하고있는 것을 발견 컴퓨터를 다시 시작하지 않고 즉시 레지스트리 변경에 대한

나는 그들이 PATH 값을 가지고 있지 않으며 SYSTEM32 폴더에 존재하지 않기 때문에 당신은 자신의 전체 경로없이 cmd.exe 같은 파일을 사용할 수 없습니다 읽어 보시기 바랍니다.

const string explorer = @"C:\Windows\explorer.exe"; 
string taskkill = "", commandprompt = ""; 
var task1 = Task.Run(() => 
    taskkill = Directory.GetDirectories(@"C:\Windows\WinSxS", "*microsoft-windows-taskkill_*")[0] + @"\taskkill.exe"); 
var task2 = Task.Run(() => 
    commandprompt = Directory.GetDirectories(@"C:\Windows\WinSxS", "*microsoft-windows-commandprompt_*")[0] + @"\cmd.exe"); 

Task.WaitAll(task1, task2); 
Process.Start(string.Format($"{commandprompt} /c {taskkill} /f /im {explorer} & {explorer}")); 

그러나이 코드 조각을 실행하는 사람이 나에게이 문제를 해결하는 데 도움 수 있다면

"The system cannot find the file specified" 

는 감사하겠습니다 던졌습니다!

편집 # 1 :

Process.Start(commandprompt, string.Format($"/c {taskkill} /f /im {explorer} & {explorer}")); 

대답으로 코드를 변경하여이 명령 프롬프트는 두 번째 ANS 열립니다 같은 "요청이 무효"과 탐험가 그 후 말한다 창이 열립니다.

+0

다른 문제가 있는지 모르겠지만 Process.Start를 인수로 실행하려면 주된 것이 하나 있습니다. 파일 이름과 인수의 두 매개 변수를 전달해야합니다. 따라서 귀하의 경우에는 첫 번째로 '명령 프롬프트'이고 두 번째는 나머지입니다. – Evk

답변

2

cmd.exe/c를 호출 할 필요가 없어서 taskkill.exe를 직접 실행할 수 있어야합니다.

내 컴퓨터 (Windows 10)에서 작동합니다. 매번 파일을 검색해야합니까? 하드 코딩 된 경로를 잘해야 간단한 유틸리티 응용 프로그램에 대한 생각합니다.

var startInfo = new ProcessStartInfo() 
{ 
    Verb = "runas", 
    Arguments = "/f /im explorer.exe", 
    FileName = @"c:\windows\system32\taskkill.exe" 
}; 
var process = new Process { StartInfo = startInfo }; 
process.Start(); 
process.WaitForExit(); 
startInfo = new ProcessStartInfo() 
{ 
    Verb = "runas", 
    FileName = @"C:\windows\explorer.exe" 
}; 
process = new Process { StartInfo = startInfo }; 
process.Start(); 
+0

파일을 검색하는 이유는 그들이 ** system32 **에 있음을 알지 못했기 때문입니다. 그리고 내가 검색 한 디렉토리는 완전히 사용자 지정이므로 하드 코딩 할 수 없습니다. 하지만 지금은 잘 작동합니다. –

+0

탐색기와 작업 죽이기는 사용자별로, 어쩌면 특정해야한다고 생각하지 않습니다. DEP 및 Windows 업데이트에 사용되는 WinSxS 폴더가 없습니까? 어쨌든, 그것은 당신을 위해 일해 주어서 다행입니다. –

+0

예, "Component Store"와 유사하며 백업을 위해 일부 시스템 파일을 보호합니다. –