gpt4 book ai didi

windows - 如何让 for 循环使用逗号分隔的字符串?

转载 作者:可可西里 更新时间:2023-11-01 13:19:18 25 4
gpt4 key购买 nike

到目前为止,这是我的代码:

for /f "tokens=1 eol=," %%f IN ("1,2,3,4") do  (
echo .
echo %%f
)

我期待它产生:

.
1
.
2
.

等...

但我得到的是:

.
1

就是这样。我错过了什么?

最佳答案

您误解了这些选项。

  • tokens=1 表示您只需要每行的第一个标记。你想要线上的所有 token 。
  • eol=, 表示您要将逗号解释为行尾注释 的开头。您想使用 delims=, 来指示逗号是分隔符(而不是默认值空白)。

FOR/F 主要用于对文件中的行进行操作。你没有那样做。你在单个字符串上操作,所以鲁本斯的答案更接近你想要的:

@ECHO OFF
SET test=1,2,3,4
FOR /D %%F IN (%test%) DO (
ECHO .
ECHO %%F
)

但是,理论上,您应该可以这样说:

FOR /F "usebackq delims=, tokens=1-4" %%f IN ('1^,2^,3^,4') DO (
ECHO .
ECHO %%f
ECHO .
ECHO %%g
ECHO .
ECHO %%h
ECHO .
ECHO %%i
)

这也适用,但可能无法按照您想要的方式扩展。请注意,您必须使用 ^ 字符对字符串中的逗号进行转义,并且必须指定所需的标记,然后使用后续变量 %g、%h 和 %i 来获取它们。

关于windows - 如何让 for 循环使用逗号分隔的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2112694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com