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 进程,我应该能够编辑或删除日志文件。这个对吗?

我的操作系统是 Windows 10 Enterprise 64 位。

4

0 回答 0