1. 程式人生 > >java打開本地應用程序(調用cmd)

java打開本地應用程序(調用cmd)

本地應用 calc blog 環境 ack clas *** 字符串處理 cep

有時候我們需要借助java程序打開電腦自帶的一些程序,可以直接打開或者借助cmd命令窗口打開一些常用的應用程序。例如:

package cn.xm.exam.test;

import java.io.IOException;

import org.junit.Test;

public class TestCmd {
    @Test
    public void test1() throws IOException {
        // 直接打開應用程序
        Runtime.getRuntime().exec("C:/Users/liqiang/Desktop/開機後點它.bat"); //
打開一個批處理文件 Runtime.getRuntime().exec("E:/酷狗/KGMusic/KuGou.exe"); // 打開酷狗 /******** 可以通過cmd命令打開軟件或者是做其他 *****/ Runtime.getRuntime().exec("C:/Windows/System32/cmd.exe /k start E:/酷狗/KGMusic/KuGou.exe"); // 通過cmd窗口執行命令 Runtime.getRuntime().exec("C:/Windows/System32/cmd.exe /k start E:/php/Test/第一個html/界面.html"); //
通過cmd命令打開一個網頁 Runtime.getRuntime().exec("C:/Windows/System32/cmd.exe /k mkdir C:\\Users\\liqiang\\Desktop\\java鍵的1"); // 通過cmd創建目錄用兩個反斜杠 Runtime.getRuntime().exec("C:/Windows/System32/cmd.exe /k mkdir C:\\Users\\liqiang\\Desktop\\java鍵的2"); // 通過cmd創建目錄用兩個反斜杠 Runtime.getRuntime().exec("C:/Windows/System32/cmd.exe /c calc ");//
通過cmd打開計算器 } @Test public void test2() throws IOException { /******** 可以通過cmd命令打開軟件或者是做其他 *****/ Runtime.getRuntime().exec("C:/Windows/System32/cmd.exe /c osk");// 通過屏幕軟鍵盤 } }

調用cmd的時候中間的的/c與/k是cm的參數,windows下查看參數說明:

C:\Users\liqiang>cmd/?
啟動 Windows 命令解釋器的一個新實例

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
    [[/S] [/C | /K] string]

/C      執行字符串指定的命令然後終止
/K      執行字符串指定的命令但保留
/S      修改 /C 或 /K 之後的字符串處理(見下)
/Q      關閉回顯
/D      禁止從註冊表執行 AutoRun 命令(見下)
/A      使向管道或文件的內部命令輸出成為 ANSI
/U      使向管道或文件的內部命令輸出成為
        Unicode
/T:fg   設置前臺/背景顏色(詳細信息見 COLOR /?)
/E:ON   啟用命令擴展(見下)
/E:OFF  禁用命令擴展(見下)
/F:ON   啟用文件和目錄名完成字符(見下)
/F:OFF  禁用文件和目錄名完成字符(見下)
/V:ON   使用 ! 作為分隔符啟用延遲的環境變量
        擴展。例如,/V:ON 會允許 !var! 在執行時
        擴展變量 var。var 語法會在輸入時
        擴展變量,這與在一個 FOR
        循環內不同。
/V:OFF  禁用延遲的環境擴展。

註意,如果字符串加有引號,可以接受用命令分隔符 "&&"
分隔多個命令。另外,由於兼容性
原因,/X 與 /E:ON 相同,/Y 與 /E:OFF 相同,且 /R 與
/C 相同。任何其他開關都將被忽略。

如果指定了 /C 或 /K,則會將該開關之後的
命令行的剩余部分作為一個命令行處理,其中,會使用下列邏輯
處理引號(")字符:

    1.  如果符合下列所有條件,則會保留
        命令行上的引號字符:

        - 不帶 /S 開關
        - 正好兩個引號字符

java打開本地應用程序(調用cmd)