我有一个批处理脚本,用于将一个字段拆分为多个令牌以使用它们 如果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"
)
我该怎么做? 提前致谢
答案 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