2016-12-30 73 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); 
     } 
    } 
} 

,這是我的Java類。 並在主框架的源代碼我輸入:

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 []的那個。
那麼你最有可能會做new String[]{"cmd", "/c", "start", siteLink}

+0

Thanx,我很快就會進行命令行注入。 –