【发布时间】:2015-11-24 17:25:20
【问题描述】:
我有文本文件testsuite.txt,其中包含记录,即测试套件值:
ProductABC_TestSuite.txt
ProductDEF_TestSuite.txt
ProductHIG_TestSuite.txt
ProductIJK_TestSuite.txt
我有另一个文件product_to_test.txt,其中包含:
ABC, IJK, HIG
我需要从product_to_test.txt 拆分并读取值,并从testsuite.txt 获取相应的正确测试套件。
例如:
- 如果产品是
ABC,那么它应该获取测试套件ProductABC_TestSuite.txt。 - 如果产品是
ABC, IJK,那么它应该获取ProductABC_TestSuite.txt(空格)ProductIJK_TestSuite.txt
我已经尝试了以下代码。但它不工作:
for /F "tokens=*, delimiter=," %%A in (product_to_test.txt) do (
call :sub %%A
)
:sub
SETLOCAL ENABLEEXTENSIONS
set product=%1
set "test_suite="
SETLOCAL EnableDelayedExpansion
for /F "tokens=*" %%A in (testsuites.txt) do (
set str=%%A
Echo.!str! | findstr /C:"!product!">nul
if !errorlevel!==0 set test_suite=!test_suite! !str!
)
echo %test_suite%
【问题讨论】:
-
您是否尝试过删除 product_to_test.txt 中 ABC、IJK、HIG 之间的所有空格?
标签: batch-file subroutine