2014-04-25 2 views
5

사용자가 고객에 대한 정보를 입력하고 MS Word 모델 (* .dotx)을 열 수있는 프로그램을 작성 중입니다. 그 후에 다른 프로그램으로 직접 보관할 수 있습니다. 그래서 MS Word 용으로 만든 버튼을 클릭하면 다른 프로그램 (보관 프로그램)이 열리 며 * .dotx 파일의 경로가 전달됩니다.명령 줄에서 공백을 구분하는 문자열을 피하는 방법

Process p = new Process(); 
p.StartInfo.Arguments = "Word " + secondArgument; 
p.StartInfo.FileName = fileName; 
p.Start(); 

파일 및 fileName의 경로 표준시 문자열 secondArgument 아카이브 프로그램의 exe 파일의 경로입니다 : 내가 경로를 통과 아카이브 프로그램을 열려면이 코드를 얻었다.

아카이브 프로그램의 인수를 얻으려면, 나는 Form_Load()이 코드를 사용
string[] args = Environment.GetCommandLineArgs(); 

은 그 때 나는 제대로 전달 않다면 찾기 위해있는 MsgBox를 사용합니다. 그러나 그렇지 않습니다. .dotx 파일의 이름에 공백이 있습니다 (예 : "path \ This is test file.dotx"). 따라서 MessageBox.Show(args[0])의 출력은 "path \ This"입니다. 모든 공백에서 어떻게 분리되는 것을 피할 수 있습니까?

제안에 감사드립니다 :)

답변

12

당신은 인용 부호로 묶어야합니다 :

"This is a test file.dotx" 

MSDN :

명령 줄 인수는 공백으로 구분됩니다. 인수에 공백을 넣으려면 을 두 번 사용하십시오.

+0

내 남자! 이것은 내가 필요한 것입니다. 감사합니다. 잘 알고 있습니다. – Tyler

관련 문제