gpt4 book ai didi

windows - 批处理 For 循环以获取第一个值

转载 作者:行者123 更新时间:2023-12-03 11:08:28 29 4
gpt4 key购买 nike

我正在编写一个批处理文件,我想运行一个 for 循环,将它的第一个值设置为一个变量。我只需要命令的第一个值,但我找不到另一种方法来做到这一点。我设置它的方式是使用一个 for 循环,然后是一个 do 语句,如果未设置变量,则设置变量。问题是当它运行时,循环每次都使用未设置的变量,而不是在第一个循环之后将其视为设置。

例如,我的 if 说 if "%foo%"==""set foo=%%i 并且输出如下所示if ""== ""set foo="hello" 下一个循环仍然会说 if ""== ""set foo="bar"

有没有办法解决这个问题?我尝试设置延迟扩展,但没有帮助。我也愿意接受其他方式,这些方式只会给我来自命令的第一个值。

最佳答案

set "foo="
for /f %%i in (....) do if not defined foo set "foo=%%i"

或者,如果您可以添加标签

for /f %%i in (....) do set "foo=%%i" & goto :done
:done

关于windows - 批处理 For 循环以获取第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21683438/

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