将批处理stderr重定向到文件

niv*_*lam 10 windows cmd batch-file stderr

我有一个执行java应用程序的批处理文件.我正在尝试修改它,以便每当发生异常时,它都会将STDERR写入文件.

它看起来像这样:

start java something.jar method %1 %2 2>> log.txt
Run Code Online (Sandbox Code Playgroud)

有没有办法可以将参数%1和%2写入log.txt文件?每次调用此批处理文件时,我都不希望将其写入日志文件,仅在发生异常时.

我试图找到一种方法将STDERR重定向到一个变量,但我无法弄明白.理想情况下,我希望日志文件看起来像:

Batch file called with parameters:
- "first arg"
- "second arg"
Exception: 
java.io.exception etc...

------------------------------------

Batch file called with parameters:
- "first arg"
- "second arg"
Exception: 
java.io.exception etc...
Run Code Online (Sandbox Code Playgroud)

cdo*_*ner 0

像这样的事情怎么样(未经测试):

@echo off
@echo Batch file called with parameters: >> log.txt
@echo - %1 >> log.txt
@echo - %2 >> log.txt
start java something.jar method %1 %2 2>> log.txt
Run Code Online (Sandbox Code Playgroud)