2012-05-13 4 views
2

어떤 이유로이 배치 파일을 .NET 4.0 MVC3 프로젝트에서 실행할 수 없습니다. 나는 서버 2008R2 64 비트를 사용하고 있습니다 - cmd.exe가 다르게 작동합니까?System.Diagnostics.Process를 사용하여 배치 파일을 열 수 없습니다.

System.Diagnostics.Process process1; 
process1 = new System.Diagnostics.Process(); 
process1.EnableRaisingEvents = false; 
string strCmdLine = "d:\audioTemp\test.bat";  
System.Diagnostics.Process.Start("CMD.exe", strCmdLine); 
process1.Close(); 
+0

process1 코드가 완전히 불필요합니다. –

답변

5
System.Diagnostics.Process.Start("cmd.exe", @"/c d:\audioTemp\test.bat") 
+0

감사합니다! 내가 뭔가를 놓친다는 것을 알았다. – user547794

1

문자열에 탭 문자 \t이 있습니다.

strCmdLine = "d:\\audioTemp\\test.bat"; 

을 아니면 verbatim string literal 사용 : 어느 백 슬래시를 이스케이프

strCmdLine = @"d:\audioTemp\test.bat"; 
+0

웬일인지 빈 cmd 프롬프트를 열고 인자를 전달하지 않고 – user547794

+0

cmd 프롬프트에 복사/붙여 넣기하면 strCmdLine이 제대로 작동합니다. – user547794

관련 문제