0

cmd (コマンド ライン) を実行し、この方法で Java からバッチ ファイルを実行します。

final String cmd = "cmd /c C: && dir && cd C:\MyApp\Maxi && dir && C:\MayApp\Maxi\deploy.bat";

try {


            Process process = Runtime.getRuntime().exec(cmd);

            final InputStream in = process.getInputStream();

            int ch;

            while((ch = in.read()) != -1) {
                System.out.print((char)ch);
            }
        } catch (IOException e) {
             System.out.println("IOException on CMD executing statement");
             e.printStackTrace();
        }

正常に動作していましたが、バッチファイルを変更していくつかの引数を追加したため、バッチファイルに名前を渡す必要があるため、これを試しました:(「Name1」を引数として送信します)

final String cmd = "cmd /c C: && dir && cd C:\MyApp\Maxi && dir && C:\MayApp\Maxi\deploy.bat Name1";

try {


            Process process = Runtime.getRuntime().exec(cmd);

            final InputStream in = process.getInputStream();

            int ch;

            while((ch = in.read()) != -1) {
                System.out.print((char)ch);
            }
        } catch (IOException e) {
             System.out.println("IOException on CMD executing statement");
             e.printStackTrace();
        }

しかし、現在は機能しておらず、コマンドは実行されません。「dir」コマンドの出力しか得られません。

誰でも助けることができますか?

注: コマンドは CMD では正常に実行されますが、java からは機能しません。

4

1 に答える 1