JAVAでバッチファイルを実行したい。
バッチ コマンドの出力をファイルに記録し、cmd コンソールも非表示にしたいと考えています。
バッチ ファイルは正常に動作していますが、Java ではログが正しく記録されず、コンソールが非表示にもなりません。
バッチファイル「Ftp.bat」の内容:
ftp -s:FtpCommands.txt >> Output.log
exit
前もって感謝します。
JAVAでバッチファイルを実行したい。
バッチ コマンドの出力をファイルに記録し、cmd コンソールも非表示にしたいと考えています。
バッチ ファイルは正常に動作していますが、Java ではログが正しく記録されず、コンソールが非表示にもなりません。
バッチファイル「Ftp.bat」の内容:
ftp -s:FtpCommands.txt >> Output.log
exit
前もって感謝します。
ProcessBuilderAPIを見てください。
ProcessBuilder pb = new ProcessBuilder("batchfile.bat", "arg1", "arg2");
Process p = pb.start();
...
p.destroy();
例外をキャッチすることを忘れないでください。p.destroy()
バッチファイルからの出力をリッスンする方法については、この質問を参照してください
最初に VBScript があることを確認してから、これを試してください。
launch.bat
CD /D %~dp0
wscript.exe "%CD%\invisible.vbs" "%CD%\process.bat"
invisible.vbs
CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False
プロセス.バット
[whatever you want to do] [perimeters] >> output.log >2>&1
これにより、目に見えない状態で起動し、ログとエラーも記録されます