- ベストアンサー
execでバッチファイル実行の際のコマンド数
今、exec("a.bat")でバッチファイルをコールしています。 a.batには、「if exist *.log del *.log」(A)という内容を、多数のディレクトリに対して設定したいのですが、(A)を8つ以上羅列すると、固まってしまいます。 コマンド数に制限があるのでしょうか?それとも何か方法があるのでしょうか? すいませんが、よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
バッチファイルの先頭に@echo offを書くとうまくいったりしませんか? また、Javaコードの方で以下のようにしても実行できると思います。 Process p = Runtime.getRuntime().exec("a.bat"); InputStream in = p.getInputStream(); int b; while ((b = in.read()) != -1) { System.out.write((byte)b); } バッファがいっぱいになって、サブプロセスの出力ストリームが詰まったのが原因じゃないかと思います。
その他の回答 (1)
- MovingWalk
- ベストアンサー率43% (2233/5098)
回答No.1
MS-DOSプロンプト(DOS窓)でそのbatを実行したらどうなりますか? C言語なら、sysytem()を使用したらどうなりますか?
質問者
補足
DOS窓、及びC言語では、正しく動作します・・・・。 EXECを使用する際の、プロセスとかバッファとかが影響してるんでしょうか?
お礼
ありがとうございます!! 先頭に「@echo off」もしくは「echo off」を書くとうまくいきました。 大変助かりました。ありがとうございます。 ただ、javaコードの方は固まってしまうみたいです・・・。