如何在批处理脚本中用双引号分隔
how to delim by double quotes in a for in batch scripting
我有一个文件,我想使用 for 命令来浏览它。我的问题是我尝试用双引号字符 ["] 分隔,我必须转义它,所以我的 for 看起来像这样:
for /f tokens^=1^,2^,3^ delims^=^<^"^= %%a in ("%%i") do (
)
而且我不明白为什么如果我从 tokens tokens^=1^,2^,3**^**
中删除最后一个 [^],我会得到一个错误:delims 是意外的。
关于如何用双引号分隔而不必转义所有其他字符有什么建议吗?
问题是,您使用的选项没有包含引号,
像
FOR /F "tokens=1,2 delims=[]" ...
。
但是如果你想使用引号作为分隔符,你就不能再使用封闭的引号了。
然后几乎所有字符都必须使用插入符号进行转义,因为 ,=;<space>
也是标准的标记分隔符。
甚至连空格都必须转义才能创建单个选项标记。
for /f tokens^=1^,2^,3 delims^=^<^"^= %%a
会被分成
for
- /f
- tokens=1,2,3
- delims=<"=
但是 /F
需要一个或 none 选项标记。
我有一个文件,我想使用 for 命令来浏览它。我的问题是我尝试用双引号字符 ["] 分隔,我必须转义它,所以我的 for 看起来像这样:
for /f tokens^=1^,2^,3^ delims^=^<^"^= %%a in ("%%i") do (
)
而且我不明白为什么如果我从 tokens tokens^=1^,2^,3**^**
中删除最后一个 [^],我会得到一个错误:delims 是意外的。
关于如何用双引号分隔而不必转义所有其他字符有什么建议吗?
问题是,您使用的选项没有包含引号,
像
FOR /F "tokens=1,2 delims=[]" ...
。
但是如果你想使用引号作为分隔符,你就不能再使用封闭的引号了。
然后几乎所有字符都必须使用插入符号进行转义,因为 ,=;<space>
也是标准的标记分隔符。
甚至连空格都必须转义才能创建单个选项标记。
for /f tokens^=1^,2^,3 delims^=^<^"^= %%a
会被分成
for
- /f
- tokens=1,2,3
- delims=<"=
但是 /F
需要一个或 none 选项标记。