java 調用windows bat 腳本

當咱們須要在java程序中調用外部程序,咱們可用經過Runtime.exec()調用來完成。java

The class java.lang.Runtime features a static method called getRuntime(), which retrieves the current Java Runtime Environment. That is the only way to obtain a reference to the Runtime object. With that reference, you can run external programs by invoking the Runtime class's exec() method. Developers often call this method to launch a browser for displaying a help page in HTML.express

exec()有四個重載版本 There are four overloaded versions of the exec() command:windows

public Process exec(String command); public Process exec(String [] cmdArray);安全

public Process exec(String command, String [] envp); public Process exec(String [] cmdArray, String [] envp);網絡

For each of these methods, a command -- and possibly a set of arguments -- is passed to an operating-system-specific function call. This subsequently creates an operating-system-specific process (a running program) with a reference to a Process class returned to the Java VM. The Process class is an abstract class, because a specific subclass of Process exists for each operating system. You can pass three possible input parameters into these methods: A single string that represents both the program to execute and any arguments to that program An array of strings that separate the program from its arguments An array of environment variables Pass in the environment variables in the form name=value. If you use the version of exec() with a single string for both the program and its arguments, note that the string is parsed using white space as the delimiter via the StringTokenizer class.app

以上內容來自於網絡。ssh

關於java調用外部程序須要注意的事項編輯器

 1. 當調用的外部命令中包含重定向(<、>),管道( | ) 命令時,exec(String command)的版本不能正確解析重定向、管道操做符。因此須要使用exec(String [] cmdArray)。工具

 2.永遠要在調用waitFor()方法以前讀取數據流性能

 永遠要先從標準錯誤流中讀取,而後再讀取標準輸出流

 3.在exec()後 當即調用waitFor()會致使進程掛起。

 java 調用windows 腳本:

先看下面的例子,該例子實現經過調用bat腳本打印「hellword」。代碼以下:

import java.io.IOException;
import java.io.InputStream;

public class callbat {
 
 
      public static void main(String args[]){
         callCmd("C:/run.bat");
      }
      public static void  callCmd(String locationCmd){
          try {
          Process child = Runtime.getRuntime().exec(locationCmd);
          InputStream in = child.getInputStream();
          int c;
          while ((c = in.read()) != -1) {
        	  System.out.println((char)c);
      }
       in.close();
       try {
           child.waitFor();
       } catch (InterruptedException e) {
           e.printStackTrace();
       }
       System.out.println("done");
     } catch (IOException e) {
           e.printStackTrace();
     }
 }
 }

  run.bat:中內容以下:

  echo "hello word" exit

 

java的Runtime.getRuntime().exec(commandStr)能夠調用執行cmd指令。

cmd /c dir 是執行完dir命令後關閉命令窗口。 cmd /k dir 是執行完dir命令後不關閉命令窗口。

cmd /c start dir 會打開一個新窗口後執行dir指令,原窗口會關閉。

cmd /k start dir 會打開一個新窗口後執行dir指令,原窗口不會關閉。

能夠用cmd /?查看幫助信息。

★CMD命令★

1. gpedit.msc-----組策略

2. sndrec32-------錄音機

3. Nslookup-------IP地址偵測器

4. explorer-------打開資源管理器

5. logoff---------註銷命令

6. tsshutdn-------60秒倒計時關機命令

7. lusrmgr.msc----本機用戶和組

8. services.msc---本地服務設置

9. oobe/msoobe /a----檢查XP是否激活

10. notepad--------打開記事本

11. cleanmgr-------垃圾整理

12. net start messenger----開始信使服務

13. compmgmt.msc---計算機管理

14. net stop messenger-----中止信使服務

15. conf-----------啓動netmeeting

16. dvdplay--------DVD播放器

17. charmap--------啓動字符映射表

18. diskmgmt.msc---磁盤管理實用程序

19. calc-----------啓動計算器

20. dfrg.msc-------磁盤碎片整理程序

21. chkdsk.exe-----Chkdsk磁盤檢查

22. devmgmt.msc--- 設備管理器

23. regsvr32 /u *.dll----中止dll文件運行

24. drwtsn32------ 系統醫生

25. rononce -p ----15秒關機

26. dxdiag---------檢查DirectX信息

27. regedt32-------註冊表編輯器

28. Msconfig.exe---系統配置實用程序

29. rsop.msc-------組策略結果集

30. mem.exe--------顯示內存使用狀況

31. regedit.exe----註冊表

32. winchat--------XP自帶局域網聊天

33. progman--------程序管理器

34. winmsd---------系統信息

35. perfmon.msc----計算機性能監測程序

36. winver---------檢查Windows版本

37. sfc /scannow-----掃描錯誤並復原

38. taskmgr-----任務管理器(2000/xp/2003)

39. winver---------檢查Windows版本

40. wmimgmt.msc----打開windows管理體系結構(WMI)

41. wupdmgr--------windows更新程序

42. wscript--------windows腳本宿主設置

43. write----------寫字板

44. winmsd---------系統信息

45. wiaacmgr-------掃描儀和照相機嚮導

46. winchat--------XP自帶局域網聊天

47. mem.exe--------顯示內存使用狀況

48. Msconfig.exe---系統配置實用程序

49. mplayer2-------簡易widnows media player

50. mspaint--------畫圖板

51. mstsc----------遠程桌面鏈接

52. mplayer2-------媒體播放機

53. magnify--------放大鏡實用程序

54. mmc------------打開控制檯

55. mobsync--------同步命令

56. dxdiag---------檢查DirectX信息

57. drwtsn32------ 系統醫生

58. devmgmt.msc--- 設備管理器

59. dfrg.msc-------磁盤碎片整理程序

60. diskmgmt.msc---磁盤管理實用程序

61. dcomcnfg-------打開系統組件服務

62. ddeshare-------打開DDE共享設置

63. dvdplay--------DVD播放器

64. net stop messenger-----中止信使服務

65. net start messenger----開始信使服務

66. notepad--------打開記事本

67. nslookup-------網絡管理的工具嚮導

68. ntbackup-------系統備份和還原

69. narrator-------屏幕「講述人」

70. ntmsmgr.msc----移動存儲管理器

71. ntmsoprq.msc---移動存儲管理員操做請求

72. netstat -an----(TC)命令檢查接口

73. syncapp--------建立一個公文包

74. sysedit--------系統配置編輯器

75. sigverif-------文件簽名驗證程序

76. sndrec32-------錄音機

77. shrpubw--------建立共享文件夾

78. secpol.msc-----本地安全策略

79. syskey---------系統加密,一旦加密就不能解開,保護windows xp系統的雙重密碼

80. services.msc---本地服務設置

81. Sndvol32-------音量控制程序

82. sfc.exe--------系統文件檢查器

83. sfc /scannow---windows文件保護

84. tsshutdn-------60秒倒計時關機命令

 84. tsshutdn-------60秒倒計時關機命令

85. tourstart------xp簡介(安裝完成後出現的漫遊xp程序)

86. taskmgr--------任務管理器

87. eventvwr-------事件查看器

88. eudcedit-------造字程序

89. explorer-------打開資源管理器

90. packager-------對象包裝程序

91. perfmon.msc----計算機性能監測程序

92. progman--------程序管理器

93. regedit.exe----註冊表

94. rsop.msc-------組策略結果集

95. regedt32-------註冊表編輯器

96. rononce -p ----15秒關機

97. regsvr32 /u *.dll----中止dll文件運行

98. regsvr32 /u zipfldr.dll------取消ZIP支持

99. cmd.exe--------CMD命令提示符

100. chkdsk.exe-----Chkdsk磁盤檢查

101. certmgr.msc----證書管理實用程序

102. calc-----------啓動計算器

103. charmap--------啓動字符映射表

104. cliconfg-------SQL SERVER 客戶端網絡實用程序

105. Clipbrd--------剪貼板查看器

106. conf-----------啓動netmeeting

107. compmgmt.msc---計算機管理

108. cleanmgr-------垃圾整理

109. ciadv.msc------索引服務程序

110. osk------------打開屏幕鍵盤

111. odbcad32-------ODBC數據源管理器

112. oobe/msoobe /a----檢查XP是否激活

113. lusrmgr.msc----本機用戶和組

114. logoff---------註銷命令

115. iexpress-------木馬捆綁工具,系統自帶

116. Nslookup-------IP地址偵測器

117. fsmgmt.msc-----共享文件夾管理器

118. utilman--------輔助工具管理器

119. gpedit.msc-----組策略等命令。

相關文章
相關標籤/搜索