CMD:如何将java -version的结果写入/打印到某个文件

我尝试执行:

cmd /c java -version > someFile.txt cmd /c echo java -version > someFile.txt

但是没有任何信息被写入我正在redirect到的文件中。

batch file提取并将文本传入variables?

运行在Windows启动CMD的参数

使用batch file或命令删除只读文件

使用命令行在不同的驱动器中列出子文件夹及其文件

在批处理中杀死一个进程并报告成功

捕获stderr而不是stdout:

java -version 2> someFile.txt java -fullversion 2> someFile.txt cmd /c java -version 2> someFile.txt

这解释了为什么Java将帮助写入stderr:

在修复这个bug之前,我们应该非常仔细地思考。 将版本信息打印到stderr显然是错误的,但是自从我们从一开始就一直这样做的话,如果我们现在改变它,我们可能会打破在Java之上构建的现有系统。 如果我们决定改变这一点,那么它必须等到Tiger发布,以便能够进行足够的测试。

Java将此信息写入标准错误而不是标准输出,因此您需要重定向正确的通道

cmd /c java -version 2> someFile.txt

这工作。

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...