Windows – 将批处理文件重定向到文件
发布时间:2020-12-14 01:38:53 所属栏目:Windows 来源:网络整理
导读:我有一个执行 java应用程序的批处理文件.我试图修改它,以便每当发生异常时,它会将STDERR写入一个文件. 看起来像这样: start java something.jar method %1 %2 2 log.txt 有没有办法我可以将参数%1和%2写入log.txt文件?每次这个批处理文件被调用时,只有发
我有一个执行
java应用程序的批处理文件.我试图修改它,以便每当发生异常时,它会将STDERR写入一个文件.
看起来像这样: start java something.jar method %1 %2 2>> log.txt 有没有办法我可以将参数%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...
这样的事情可能会起作用:
javastart.cmd @echo off set params=%* for /f "delims=" %%e in ('java something.jar method %1 %2 ^>nul') do ( echo Batch file called with parameters:>>log.txt echo - Args[]: %*>>log.txt echo - Arg[1]: %1>>log.txt echo - Arg[2]: %2>>log.txt echo Exception: %%e ) 我自己不是一个java程序员,我不能测试这个输出/情况,但是: 1:%*表示每个参数,从1到最后(甚至,尽管它不是直接可用..)无论形成.可能会比使用这个更划算.甚至在间距/报价不佳的时候,你也会有完整的参数.我在日志中添加了一行,显示全线然后参数.如果这是一个不好的论据,你可以看到问题在哪里. 2:将stdout发送到null(^> nul)将只保留stderr输出,设置为%% e 3:无论做什么部分只会发生,因为测试语句实际上有什么作为输出,即如果设置了%% e. 有人说,您必须测试脚本,看看异常是否实际发送到stderr,或者像其他一些软件一样,即使发生错误也可以stdout. 我希望这有帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-server-2003 – 服务器实际需要多少RAM?
- windows-server-2012 – Windows Server 2012默认RAM分配策
- 单个.msi Windows软件包安装程序文件的最大大小是多少?
- 如何在Windows上创建补丁文件?
- windows – 我在哪里保存我的Haskell“模块”?
- 在Windows server2008中搭建sqli-lab实验环境
- 事件处理 – 如何在场景图的节点中监听WindowEvent.WINDOW_
- windows-8 – Windows 8 JavaScript应用程序开发 – 共享魅
- 批处理文件 – 单引号在Windows批处理文件中做什么?
- Windows Azure存储模拟器 – CORS支持