Windows 批处理文件:如何将后台进程的控制台日志重定向到 'NUL'

Windows batch file : How to redirect console logs of a background process to 'NUL'

我创建了一个在后台调用 java 进程的批处理文件。我想要的只是将 java 进程的日志重定向到 'NUL' 输出,以便后台终端 包含任何输出。

我的批处理文件的内容:

@echo off
START /MIN java -jar ./myapp.jar >null 2>&1

然而,当我 运行 批处理时,我最小化了 windows 终端打开,它仍然显示所有日志。

我需要在不更改 app.jar

的情况下禁用此日志记录

如果您只想忽略任何控制台输入和输出,请在 Windows 平台上执行您的 Java 程序并需要阻止打开控制台 window,然后使用javaw 可执行文件而不是 java.

最适合您的情况,但为了记录,发布的批处理脚本的最接近问题是重定向适用于 START 命令,而不适用于 java 命令。

更正后的版本看起来像这样:

START /MIN cmd /c "java -jar ./myapp.jar >NUL 2>&1"