使用Batch脚本回显从第3列开始的所有列

时间:2019-07-04 11:47:45

标签: windows csv batch-file

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

test.txt文件包含:

String sorted =
    map.entrySet().stream()
        .sorted(Collections.reverseOrder(Map.Entry.comparingByValue()))
        .map(Objects::toString)
        .collect(Collectors.joining(","));

我尝试过的代码:

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

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

1 个答案:

答案 0 :(得分:1)

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

可能对您有用-取决于前两列是否还包含带引号的字符串,该字符串可能包含空格。 *的意思是“指定最高编号的令牌之后的其余行”。