2013-03-08 5 views
0

ProcessBuilder를하고 cmd를

ProcessBuilder pb = new ProcessBuilder("cmd","/C","dir"); 

작업하지만

ProcessBuilder pb = new ProcessBuilder("cmd","dir"); 

을 수행하지 않습니다.
나는 후자의 경우 cmd가 시작되지만 디렉토리 목록이 나타나지 않는다는 것을 의미합니다. 왜 그럴까요?

+0

무엇이 작동하지 않습니까? 오류가 발생 했습니까? 어느? –

답변

4

cmd.exe의 정상적인 동작입니다 - 같은 명령 줄에서 발생 :

C:\>cmd dir 
Microsoft Windows [Version 6.1.7601] 
Copyright (c) 2009 Microsoft Corporation. All rights reserved. 
C:\>cmd /c dir 
Volume in drive C is System 
Volume Serial Number is ABCD-EF10 
... 

첫 번째 통화와 새 (대화 형) 명령 인터프리터 프로세스를 만드는, cmd.exe . 는 두 번째 통화로, 당신은 새로운 명령 인터프리터 프로세스를 생성하고 주어진 명령 다음 종료를 실행하도록 지시하고 있습니다 : 그런

/C  Carries out the command specified by string and then terminates 
2

cmd.exe 때문에 작품. 명령 창에서이 시도 :

cmd dir 

cmd /C dir 

은 또한에 대한 설명 help cmd를 보라.