Nic*_*las 30 windows batch-file dacapo
我正在运行各种Java基准测试,并希望存档结果.我像这样执行(dacapo)基准测试:
C:\VM\jre\bin\java -jar C:\benchmarks\dacapo-9.12-bach.jar %arg1% > %time::=%
Run Code Online (Sandbox Code Playgroud)
我在一个参数中传递了基准类型,这就是%arg1%.
您可以看到我将输出重定向到文本文件.不幸的是,输出的第一行和最后一行仍然在控制台中打印,而不是打印在文本文件中:
===== DaCapo 9.12 luindex starting =====
===== DaCapo 9.12 luindex PASSED in 2000 msec =====
Run Code Online (Sandbox Code Playgroud)
特别是最后一行在文本文件中很重要:)
是否有强制这种行为的技巧?
Zac*_*gle 55
您必须重定向STDOUT和STDERR.
command > logfile 2>&1
STDIN是文件描述符#0,STDOUT是文件描述符#1,STDERR是文件描述符#2.
就像"command> file"将STDOUT重定向到文件一样,您也可以将任意文件描述符重定向到彼此.该>&
运营商文件描述符之间重定向.因此,2 >& 1
将所有STDERR输出重定向到STDOUT.
此外,请注意2>&1
在指令末尾添加,因为在Windows上,重定向的顺序很重要,因为command 2>&1 > logfile
会产生一个空文件,正如Dawid在评论中添加的那样.
小智 5
在命令中添加2>&1:
C:\VM\jre\bin\java -jar C:\benchmarks\dacapo-9.12-bach.jar %arg1% 2>&1 > %time::=%
Run Code Online (Sandbox Code Playgroud)
这会将STDERR重定向到STDOUT,然后将其重定向到您的文本文件中.
归档时间: |
|
查看次数: |
34302 次 |
最近记录: |