【问题标题】:how to use angle bracket as a for /f delimiter如何使用尖括号作为 /f 分隔符
【发布时间】:2015-12-17 05:27:10
【问题描述】:

如何使用或转义大于或小于号作为 for /f 循环中的分隔符?

我在任何地方都找不到答案。有人可以启发我吗?

【问题讨论】:

  • 你会如何将任何其他字符作为分隔符??

标签: windows batch-file for-loop


【解决方案1】:

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 .

==>

【讨论】:

    【解决方案2】:

    试试

    FOR /F "delims=<" %%parameter IN (filenameset) DO command 
    

    FOR /F "delims=>" %%parameter IN (filenameset) DO command 
    

    【讨论】:

    • for 选项需要放在引号中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    • 1970-01-01
    • 1970-01-01
    • 2012-09-09
    • 2019-07-18
    • 1970-01-01
    • 2021-09-29
    相关资源
    最近更新 更多