相关疑难解决方法(0)

如何批量循环逗号分隔的字符串?

视窗

根据帖子(dos批处理通过分隔字符串),我在下面编写了一个脚本,但没有按预期工作.

目标:给定字符串"Sun,Granite,Twilight",我想在循环中获取每个主题值,以便我可以使用该值进行一些处理.

当前输出不正确:

list = "Sun,Granite,Twilight"
file name is "Sun Granite Twilight"
Run Code Online (Sandbox Code Playgroud)

对于第一次迭代,它应该是:

list = "Sun,Granite,Twilight"
file name is "Sun"
Run Code Online (Sandbox Code Playgroud)

然后第二次迭代应该是"文件名是"花岗岩"等等.我做错了什么?

码:

set themes=Sun,Granite,Twilight

call :parse "%themes%"
goto :end

:parse
setlocal
set list=%1
echo list = %list%
for /F "delims=," %%f in ("%list%") do (
    rem if the item exist
    if not "%%f" == "" call :getLineNumber %%f
    rem if next item exist
    if not "%%g" == "" call :parse "%%g"
)
endlocal

:getLineNumber
setlocal
echo …
Run Code Online (Sandbox Code Playgroud)

batch-file

21
推荐指数
3
解决办法
5万
查看次数

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

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

for /f "tokens=1 eol=," %%f IN ("1,2,3,4") do  (
    echo .
    echo %%f    
)
Run Code Online (Sandbox Code Playgroud)

我期待这样做:

.
1
.
2
.
Run Code Online (Sandbox Code Playgroud)

等等...

但相反,我得到:

.
1
Run Code Online (Sandbox Code Playgroud)

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

windows cmd batch-file

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

batch-file ×2

cmd ×1

windows ×1