매개 변수 filename을 사용하여 프로세스를 실행하고 싶습니다.새 프로세스를 시작할 때 공백으로 매개 변수를 지정하는 방법
string parms = filechooser.Filename ;
psi = new ProcessStartInfo("timidity", parms);
일부 공백이있는 파일 이름을 선택하면 문제가 발생합니다. 012 "" "로 매개 변수를 전달할 수 있습니까?
감사
매개 변수 filename을 사용하여 프로세스를 실행하고 싶습니다.새 프로세스를 시작할 때 공백으로 매개 변수를 지정하는 방법
string parms = filechooser.Filename ;
psi = new ProcessStartInfo("timidity", parms);
일부 공백이있는 파일 이름을 선택하면 문제가 발생합니다. 012 "" "로 매개 변수를 전달할 수 있습니까?
감사
이 시도 :
timidity "my filename"
당신은 큰 따옴표로 값을 포장 할 수는 :
잘 작동합니다string parameters = string.Format("\"{0}\"", filechooser.Filename);
psi = new ProcessStartInfo("timidity", parameters);
는 공간도 전달됩니다.
그러나 당신이 (시작되는 응용 프로그램에 따라, 즉 겁) 파일 이름을 탈출하려면 다음을 수행하십시오
string parms = string.Format("\"{0}\"", filechooser.Filename);
psi = new ProcessStartInfo("timidity", parms);
이를 포맷 \"{0}\"
에 따라 문자열을 만듭니다. \"
은 따옴표 ("
)가되고 {0}
은 첫 번째 매개 변수 인 형식 문자열 (예 : 파일 이름)로 대체됩니다.
시작, 실행 기능 또는 명령 프롬프트 (cmd.exe
)를 사용하여이 기능을 시험해 볼 수 있습니다. 따옴표, 공백, 다음 전체 파일 이름을 겁을 입력하고 그 작동하는지 확인 :
"\"timidity\""
백 슬래시는 당신의 친구입니다.
string parms = filechooser.Filename ;
psi = new ProcessStartInfo("timidity", "\"" + parms + "\"");
아니요,이 파일 이름은 시작될 프로그램이 아닌 공백이있는 파일 이름입니다 ("timidity"에는 공백이 없습니다) –