如何使用批处理脚本忽略csv文件中的空格

时间:2015-05-20 14:25:06

标签: excel csv batch-file

我有一个批处理脚本,用于将一个字段拆分为多个令牌以使用它们 如果csv文件中的行是这样的:

token1,token2,token3,"first token;second token ;third token;fourth token"

first token;second token ;third token;fourth token代表实际Excel工作表中的1列

我想拆分该列并保留空格 即

我想设置string1 =第一个令牌         和string2 =第二个令牌

这是我正在使用的批次

set "string=%%m"

set /a count=0


for %%c in (%%m) do (
    set /a count+=1
    set "variable!count!=%%c"
)

我该怎么做? 提前致谢

1 个答案:

答案 0 :(得分:0)

你能从这里拿走吗?

C:>type tokfile.bat
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION

FOR /F "usebackq delims=, tokens=1,2,3,4,5" %%a IN (`type tokfile.txt`) DO (
    ECHO %%a
    ECHO %%b
    ECHO %%c
    ECHO %%d

    SET G=%%d
    SET GG=!G:~1,-1!

    ECHO G is !G!
    ECHO GG is !GG!

    FOR /F "delims=; tokens=1,2,3,4" %%s IN (%%d) DO (
        ECHO %%s
        ECHO %%t
        ECHO %%u
        ECHO %%v
    )
)

EXIT /B 0

数据文件:

C:>type tokfile.txt
token1,token2,token3,"first token;second token ;third token;fourth token"

输出:

10:57:30.03  C:\Users\pwatson\bin
C:>tokfile.bat
token1
token2
token3
"first token;second token ;third token;fourth token"
G is "first token;second token ;third token;fourth token"
GG is first token;second token ;third token;fourth token
first token
second token
third token
fourth token