首页 > 解决方案 > 使用批处理脚本回显从第 3 列开始的所有列

问题描述

我正在尝试通过读取文本文件来回显并设置变量值。我有一个问题,数据行中包含双引号,并且输出结果不如预期。

test.txt 文件包含:

call m2srun "AB test 1.csv"
call m2srun "AB test 2.csv"
call m2srun "AB test 3.csv"

我试过的代码:

for /f "tokens=3 delims= " %%a in (test.txt) do echo %%a

实际输出:

"AB
"AB
"AB

但我期待像..这样的输出

"AB test 1.csv"
"AB test 2.csv"
"AB test 3.csv"

注意:csv 名称不是固定长度的。它包含空格,并且可以更长。

标签: windowscsvbatch-file

解决方案


for /f "tokens=2,* delims= " %%a in (test.txt) do echo %%b

可能对您有用 - 这取决于前 2 列是否还包含可能包含空格的引号字符串。这*意味着“指定的最高编号标记之后的行的其余部分”。


推荐阅读