【发布时间】:2015-12-17 05:27:10
【问题描述】:
如何使用或转义大于或小于号作为 for /f 循环中的分隔符?
我在任何地方都找不到答案。有人可以启发我吗?
【问题讨论】:
-
你会如何将任何其他字符作为分隔符??
标签: windows batch-file for-loop
如何使用或转义大于或小于号作为 for /f 循环中的分隔符?
我在任何地方都找不到答案。有人可以启发我吗?
【问题讨论】:
标签: windows batch-file for-loop
for /F options 需要为escaped,即(通常)用“引号”括起来:
FOR /F:针对一组文件的循环命令 - 有条件地执行 针对每个项目的命令。语法
FOR /F ["options"] %%parameter IN (filenameset) DO command FOR /F ["options"] %%parameter IN ("Text string to process") DO command
但是,如果不将 options 括在引号中,则需要转义分隔符(即 逗号 ,,
分号 ;,
等于 =,
空格 和
tab ) 和 cmd 有毒字符(例如 <,>,|,&)severally。
示例:
==> for /f "tokens=1,2,3 delims=<> " %G in (" aa < bb > dd ") do @echo .%G.%H.%I.
.aa.bb.dd.
==> for /f tokens^=1^,2^,3^ delims^=^<^>^ %G in (" aa < bb > dd ") do @echo .%G.%H.%I.
.aa.bb.dd.
==> for /f "tokens=1-3 delims=<>" %G in (" aa < bb > dd ") do @echo .%G.%H.%I.
. aa . bb . dd .
==> for /f tokens^=1-3^ delims^=^<^> %G in (" aa < bb > dd ") do @echo .%G.%H.%I.
. aa . bb . dd .
==>
【讨论】:
试试
FOR /F "delims=<" %%parameter IN (filenameset) DO command
或
FOR /F "delims=>" %%parameter IN (filenameset) DO command
【讨论】:
for 选项需要放在引号中。