批量打印行直到找到字符串

Batch print line until string found

我有一个批处理脚本可以生成具有以下结构的文件(示例)

123|etc|etc
345|etc|etc
678|etc|etc

我希望我的脚本打印出它在每一行中找到的内容,直到它找到一个 |,所以在这个例子中我希望它打印:

123

345

678,等等。

我用 | 试过 findstr /V但它完全忽略了该行(如命令所述)

知道如何扭转局面吗?

@echo off
for /f "usebackq tokens=1 delims=|" %%a in ("test.txt") do (
      echo %%a )

      pause

这是在与批处理脚本相同的目录中循环文件 (test.txt)。我告诉它只使用一个带有竖线分隔符的标记,然后我们只打印出 %%a ,它具有第一列数据的值。