从文件循环读取的行不会在批处理程序中正确分配

时间:2018-06-18 04:17:05

标签: batch-file

我正在使用 For / f 循环读取.batch程序中.txt文件的每一行。 .txt文件包含测试用例的所有名称(例如 ShipmentPostErrorPathXPERF.txt ),我需要将其读取并分配给名为 testCaseName的变量 并将其作为参数传递给另一个.cmd程序并继续循环,直到它读取所有行(测试用例),

这是我的示例批处理文件,我的问题是当我分配 testCaseName = %% A 时,它只显示分配给文件的最后一行( REST0007-SHIPMETDATA_POST-XPERF_ErrorPath- ShipmentNULLServiceSchedID_TestCase )。但是当我使用 echo %% A 时,它会在循环读取时显示所有行。

为什么 在批处理文件中设置testCaseName = %% A 只读取最后一行?

.batch文件:

echo off
cd d:\SWAT
set fileNameXPERF=d:\SWAT\ShipmentPostErrorPathXPERF.txt
for /F "tokens=*" %%A in (D:\SWAT\ShipmentPostErrorPathXPERFxxx.txt) do (
set testCaseName=%%A
echo %testCaseName%
echo %%A
call d:\SWAT\testRunner.cmd %testCaseName%
)

文本文件(ShipmentPostErrorPathXPERF.txt):

REST0007-SHIPMETDATA_POST-XPERF_ErrorPath-ShipmentEmptyDockNum_TestCase
REST0007-SHIPMETDATA_POST-XPERF_ErrorPath-ShipmentNULLDockNum_TestCase
REST0007-SHIPMETDATA_POST-XPERF_ErrorPath-ShipmentInvalidDockNum_TestCase
REST0007-SHIPMETDATA_POST-XPERF_ErrorPath-ShipmentEmptyServiceSchedID_TestCase
REST0007-SHIPMETDATA_POST-XPERF_ErrorPath-ShipmentNULLServiceSchedID_TestCase

0 个答案:

没有答案