這篇文章主要介紹“Java怎么調用windows系統的CMD命令并啟動新程序”,在日常操作中,相信很多人在Java怎么調用windows系統的CMD命令并啟動新程序問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java怎么調用windows系統的CMD命令并啟動新程序”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
我們通常在使用Java 調用腳本的時候,會使用 Runtime
類如:
// 打開瀏覽器并訪問 http://localhost:7001 Runtime.getRuntime().exec("cmd /c start http://localhost:8080");
這里我們使用到了終端 CMD
# 執行字符串指定的命令,并在執行命令后保留窗口 cmd /k echo "Hello World!" # 執行字符串指定的命令,然后退出 cmd /c echo "Hello World!"
start命令是 cmd 終端提供的一個命令,通過該命令可以啟動單獨的窗口以運行指定的程序或命令。
如
# 創建一個新的 cmd 窗口 start cmd
如果單獨運行 start ,你會發現會報錯:
Runtime.getRuntime().exec("start http://localhost:8080");
Exception in thread “main” java.io.IOException: Cannot run program “start”: CreateProcess error=2, 系統找不到指定的文件。
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:621)
at java.lang.Runtime.exec(Runtime.java:451)
at java.lang.Runtime.exec(Runtime.java:348)
at com.example.Main3.main(Main3.java:22)
… 4 more
這是因為 start
命令是 cmd 終端中提供的一個命令,需要在 cmd 環境下執行。
通過 Java 創建一個新的終端:
// 第一 cmd 命令用于創建環境執行 start 命令 // cmd /k 表示在創建一個新的終端并保留該終端 Runtime.getRuntime().exec(String.format("cmd /c start cmd /k");
我們可以在調試應用時在應用啟動后通過該命令讓其自動打開瀏覽器。
SpirngBootApplication.run(Application.class.args); Runtime.getRuntime().exec("cmd /c start http://localhost:8080");
或者讓 Arthas 自動啟動連接當前應用。這個在做一些Java診斷工具的學習中會很有幫助,不需要我們手敲命令行去查找相關參數后才能能打開應用了。
RuntimeMXBean bean = ManagementFactory.getRuntimeMXBean(); String pid = bean.getName().split("@")[0]; String cmd = String.format("cmd /c start cmd /k D:\\arthas-bin\\as.bat %s", pid); Runtime.getRuntime().exec(cmd);
到此,關于“Java怎么調用windows系統的CMD命令并啟動新程序”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。