我正在尝试处理包含以下格式的值的文件:
Token1 Token2 Token3 Token4
"ValueA", "ValueB, ValueC", "ValueD", "Value E"
(为了清楚起见,我添加了标题)。我只想要令牌2和4。
以下命令:
for /f "tokens=2,4 delims=," %a in (TestSource.txt) do @echo %a %b
是否有效,但当Token2包含逗号时(如上例所示),由于FOR命令似乎没有更好的知识,因此该逗号被破坏了。
这个限制是否有任何已知的解决方法 - 我做了很多调查并看到了“usebackq”命令,但我认为这不是我需要的。
谢谢!
答案 0 :(得分:1)
for /f tokens^=3^,7^ delims^=^" %f in (data.csv) do echo "%f", "%g"
有两种方法可以为for
命令包含“options”字符串。因为它可以包含空格和特殊字符,第一个是通常引用的字符串。但在某些情况下,这还不够。
第二种方式显示在包含的代码中:转义选项字符串中的所有分隔符。