如何使用程序生成的输出文件作为另一个程序的输入?批处理文件

时间:2016-01-07 11:39:56

标签: visual-studio batch-file trx

我使用Visual Studio运行单元测试,将其作为cmd上的命令:

vstest.console.exe C:\Desktop\Project\UnitTests\Debug\UnitTests.dll /Logger:trx

执行后,会生成.trx文件(visual studio测试结果文件)。接下来我想获取这个文件并通过一个名为trx2html的程序运行它,该程序将从中生成一个可读格式的html文件。对此的命令是:

trx2html.exe trxResultFile

这似乎相当简单,但我似乎无法让第二部分发挥作用。我的问题是第一个程序生成一个文件名,所以我不能在trx2html.exe之后输入这个文件名。

到目前为止,这是我的bat文件:

@echo %1

SET ProjectPath=%1
SET VsTest=vstest.console.exe %ProjectPath% /Logger:trx
SET TestWindowPath="C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow"
SET TestResults="C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\TestResults\"

cd /d %TestWindowPath%

pause

%VsTest%

trx2html.exe "%TestResults% | %VsTest%"

任何帮助将不胜感激,提前谢谢。

1 个答案:

答案 0 :(得分:0)

这是我使用的解决方案:

PopoverOptions(animation = false)

和整个计划:

cd /d %TestResults%

for /f "delims=" %%x in ('dir /od /a-d /b *.*') do set RECENT=%%x
echo %RECENT%

SET trx=trx2html.exe "%RECENT%"

%trx%