JAva呼び出しwindows batスクリプト


Javaプログラムで外部プログラムを呼び出す必要がある場合は、Runtime.exec()呼び出しで完了できます.
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.
exec()には、4つのリロードバージョンがあります.There are four overloaded versions of the exec()command:
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.
以上の内容はネットワークから来ています.
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.sndrec 32------レコーダー
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.DVDプレーヤー
17.charmap------文字マッピングテーブルの起動
18.diskmgmt.msc-ディスク管理ユーティリティ
19.calc---------コンピュータを起動する
20.dfrg.msc------ディスクフラグメント整理プログラム
21.chkdsk.exe-----chkdskディスク検査
22.devmgmt.msc---デバイスマネージャ
23.regsvr 32/u*.dll----dllファイルの実行を停止する
24.drwtsn 32------システムドクター
25.rononce-p------15秒オフ
26.dxdiag------DirectX情報をチェック
27.regedt 32------レジストリエディタ
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.mplayer 2------簡易widnows media player
50.mspaint------グラフィックボード
51.mstsc-----リモートデスクトップ接続
52.mplayer 2------メディアプレーヤー
53.magnify------拡大鏡ユーティリティ
54.mmc-----コンソールを開く
55.mobsync-------同期コマンド
56.dxdiag------DirectX情報をチェック
57.drwtsn 32------システムドクター
58.devmgmt.msc---デバイスマネージャ
59.dfrg.msc------ディスクフラグメントアレンジプログラム
60.diskmgmt.msc---ディスク管理ユーティリティ
61.dcomcnfg------システムコンポーネントサービスを開く
62.ddeshare-DDE共有設定を開く
63.DVDプレーヤー
64.net stop messenger---メッセージングサービスを停止
65.net start messenger----メッセージングサービスを開始
66.notepad------手帳を開く
67.nslookup------ネットワーク管理のツールウィザード
68.ntbackup------システムのバックアップとリストア
69.narrator------画面「説明者」
70.ntmmgr.msc----モバイルストレージマネージャ
71.ntmsoprq.msc---モバイルストレージ管理者操作要求
72.netstat-an----(TC)コマンドチェックインタフェース
73.syncapp-------パケットを作成
74.sysedit-----システム構成エディタ
75.sigverif------ファイル署名検証プログラム
76.sndrec 32------レコーダー
77.shrpubw------共有フォルダの作成
78.secpol.msc-----ローカルセキュリティポリシー
79.syskey------システムは暗号化して、いったん暗号化して解けないで、windows xpシステムの二重のパスワードを保護します
80.services.msc---ローカルサービス設定
81.Sndvol 32------音量制御プログラム
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.regedt 32------レジストリエディタ
96.rononce-p------15秒オフ
97.regsvr 32/u*.dll----dllファイルの実行を停止
98.regsvr 32/u zipfldr.dll------ZIPサポートのキャンセル
99.cmd.exe-----MDコマンドプロンプト
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.odbcad 32------ODBCデータソースマネージャ
112.oobe/msoobe/a----XPがアクティブかどうかを確認
113.lusrmgr.msc----ネイティブユーザーとグループ
114.logoff------ログアウトコマンド
115.iexpress------木馬縛り工具、システム持参
116.Nslookup----IPアドレス検出器
117.fsmgmt.msc-----共有フォルダマネージャ
118.utilman------アシストツールマネージャ
119.gpedit.msc-----グループポリシーなどのコマンド.
転載先:https://www.cnblogs.com/guiyi/p/3229094.html