2016-12-30 2 views
0

현재 나는이 방법을 사용하고 있습니다 : netbeans 프로젝트를 통해 cmd 명령을 실행하는 방법은 무엇입니까?

import java.io.*; 
import com.sun.speech.freetts.*; 
import javax.swing.JOptionPane; 

public class SO 
{ 
    public void Open(String siteLink) 
    { 
     try 
     { 
      Process p = Runtime.getRuntime().exec("cmd /c start "+siteLink); 
     } 
     catch(Exception e) 
     { 
      JOptionPane.showMessageDialog(null,"Error"+e); 
     } 
    } 
} 

이 내 자바 클래스이다. 그리고 메인 프레임 소스에서 내가 입력 :

SO run = new SO(); 
run.Open("file:///G:\\Abhijeet\\Videos\\"); 

이 비디오 폴더 을 열어하지만,이 방법은 .exe 파일 또는 Windows 응용 프로그램을 실행하지 않습니다.

'explorer ='을 사용해도 컴퓨터를 시작했지만 아무 일도 없었습니다.

답변

0

난 정말 당신이 뭘 하려는지 모르겠지만, URL을 여는 선호하는 방법은 아마도 바탕 화면 # 찾아보기 (문서 : https://docs.oracle.com/javase/7/docs/api/java/awt/Desktop.html#browse(java.net.URI))하는 프로그램을 시작하기 위해

, 나는 바탕 화면 # 개방을 사용 (문서 : https://docs.oracle.com/javase/7/docs/api/java/awt/Desktop.html#open(java.io.File))

또한, 명령 행 주입에 대해 조사하십시오. 변수 형식을 사용하면 사용자가 쉽게 모든 명령을 실행할 수 있습니다. 또는 실수로 문자를 사용하여 오류가 발생할 수 있습니다. 이 경우 Runtime # exec 사용을 계속 주장한다면 String []을 취하는 exec를 참조하십시오.
그러면 가장 가능성이 높은 것은 new String[]{"cmd", "/c", "start", siteLink}입니다.

+0

고맙습니다. 곧 커맨드 라인 인젝션을 시작하겠습니다. –