0

Windowsバッチファイルの作成は初めてです。次のバッチ ファイルを使用して、新しい javaw プロセスを開始し、バッチ ファイル内のコマンドの出力をログ ファイルにリダイレクトします。

@echo OFF

call :sub >start-demo.jar.cmd.log
exit /b

:sub
 echo starting demo.jar ..
 start "" javaw -jar demo.jar
 echo done ..

正常に動作しており、バッチ ファイルを実行すると、出力がログ ファイルに正しくリダイレ​​クトされ、javaw プロセスも新しいプロセス ID で開始されることがわかります。

バッチ ファイルの実行後にログ ファイルにリダイレクトされる出力を次に示します。

starting demo.jar ..
done ..

しかし、バッチ ファイルの実行後にログ ファイルを編集または削除しようとすると、ファイルが Java(TM) Platform SE バイナリで開かれているため、操作を完了できないと表示されます。

javaw プロセスを強制終了した後でのみ、ログ ファイルを編集または削除できます。

なぜこれが起こっているのか、これを修正する方法はわかりません。javaw プロセスが正常に開始されたら、ログ ファイルを編集または削除できるはずです。これは正しいです?

私のOSはWindows 10 Enterprise 64ビットです。

4

0 に答える 0