2011-12-22 22 views
0

Javaアプリケーションがあります。Windowsバッチファイルを実行したいのですが。次のバッチファイルのコードがうまくいかず、どうすれば修正できるのか分かりますか?スクリプトは、64ビットJavaをチェックする前にまず32ビットJavaをチェックする必要があります。Javaアプリケーションを実行するためのバッチファイル

JRE環境またはJDK環境を含むJava 6以上のバージョンを処理するバッチファイルもお勧めします。どのようにバッチファイルを処理するようにバッチファイルを変更しますか?

バッチスクリプト:

@ECHO OFF 
IF EXIST "C:\Program Files (x86)\Java" (
    start C:\Program Files (x86)\Java\jre7\bin\java -jar %~dp0\JavaShop.jar 
) ELSE (
    IF EXIST "C:\Program Files\Java" C:\Program Files\Java\jre6\bin\java -jar %~dp0\JavaShop.jar 
    ELSE ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java. 
    PAUSE 
) 
+1

なぜ32bitが最初ですか? 32bitは基本的に死んでいます – fge

+0

あなたの質問を正しく理解していないのですが、あなたのJavaプログラムからバッチファイルを実行したいのですか?またはバッチファイルからJavaShop.jarを実行しようとしていますか? –

+2

ここにエラーがありますか?たぶんスペースを含む名前が問題になります。ダブルクォートしてみてください。 –

答えて

6

私はあなたがおそらくパスをインストールするすべての予期しようとした場合、あなたは敗者の上だと思います。確かに、Javaの利用できるマシン上であれば、それだけを経由して、そのパスにすでに利用可能なIEの:

java 
あなたの「スタート」の行でも

、およびハードコードされたパスが十分だったと仮定すると、あなたは「周りの文字が必要になります原因に空白文字へのパス、。

+0

+1;例えばJDK、JREをデフォルトの場所にインストールすることはありません。 – home

+0

Java JDKを64ビットでインストールしましたが、コマンドラインでjavaと入力すると認識されません。私は64ビットJavaに特別に移動して実行する必要があります。それ以外の場合は、認識されません。 – thotheolh

+0

C:\に行かなくても "java"を実行できない場合は、マシンのパスにはありません。詳細はこちらをご覧ください: http://www.java.com/en/download/help/path.xml – Brian

1

あなたの実行パスに空白文字を持っている。しかし行うための最善のことは、環境変数JAVA_HOMEが設定されているかどうかをチェックすることで、この

@ECHO OFF 
IF EXIST "C:\Program Files (x86)\Java\jre7" (
    start "C:\Program Files (x86)\Java\jre7\bin\java.exe" -jar %~dp0\JavaShop.jar 
) ELSE (
    IF EXIST "C:\Program Files\Java\jre6" 
    start "C:\Program Files\Java\jre6\bin\java.exe" -jar %~dp0\JavaShop.jar 
    ELSE ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java. 
    PAUSE 
) 

を試してみてください。もし設定されていれば、Javaがシステムにインストールされます。

@ECHO OFF 
IF EXIST %JAVA_HOME% (
    start %JAVA_HOME%\bin\java.exe -jar %~dp0\JavaShop.jar 
) ELSE (
    ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java. 
    PAUSE 
) 

JAVA_HOMEが設定されていない場合は、javaコマンドを試してみてください。

@ECHO OFF 
IF EXIST java (
    start java -jar %~dp0\JavaShop.jar 
) ELSE (
    ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java. 
    PAUSE 
) 
+0

私はそれを実行しましたが、構文を指定せずに間違っていると言います。 – thotheolh

+0

@thotheolhどのバージョン? JAVA_HOMEのもの? – Efthymis

+0

Java 7がすでにシステムにインストールされているにもかかわらず、自分のJAVA_HOMEが設定されていないことに気付きました。どちらのバージョンにも構文誤りがあります。 – thotheolh

関連する問題