2011-10-19 1 views

답변

2

이 시도 :

timidity "my filename" 
4

당신은 큰 따옴표로 값을 포장 할 수는 :

잘 작동합니다
string parameters = string.Format("\"{0}\"", filechooser.Filename); 
psi = new ProcessStartInfo("timidity", parameters); 
3

는 공간도 전달됩니다.

그러나 당신이 (시작되는 응용 프로그램에 따라, 즉 겁) 파일 이름을 탈출하려면 다음을 수행하십시오

string parms = string.Format("\"{0}\"", filechooser.Filename); 
psi = new ProcessStartInfo("timidity", parms); 

이를 포맷 \"{0}\"에 따라 문자열을 만듭니다. \"은 따옴표 (")가되고 {0}은 첫 번째 매개 변수 인 형식 문자열 (예 : 파일 이름)로 대체됩니다.

시작, 실행 기능 또는 명령 프롬프트 (cmd.exe)를 사용하여이 기능을 시험해 볼 수 있습니다. 따옴표, 공백, 다음 전체 파일 이름을 겁을 입력하고 그 작동하는지 확인 :

"\"timidity\"" 
1

백 슬래시는 당신의 친구입니다.

string parms = filechooser.Filename ;  
psi = new ProcessStartInfo("timidity", "\"" + parms + "\""); 
+0

아니요,이 파일 이름은 시작될 프로그램이 아닌 공백이있는 파일 이름입니다 ("timidity"에는 공백이 없습니다) –