如何使用一个程序生成的输出文件作为另一个程序的输入?批处理文件
How do I use the output file generated from a program as the input for another program? batch file
我正在 运行 使用 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%"
任何帮助将不胜感激,在此先感谢。
这是我使用的解决方案:
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%
和整个程序:
@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%
%VsTest%
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%
我正在 运行 使用 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%"
任何帮助将不胜感激,在此先感谢。
这是我使用的解决方案:
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%
和整个程序:
@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%
%VsTest%
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%