gpt4 book ai didi

batch-file - 如何对 %%a 或 %1 等变量使用延迟扩展?

转载 作者:行者123 更新时间:2023-12-02 01:58:30 29 4
gpt4 key购买 nike

我试图制作一个从另一个批处理文件调用的批处理文件,但变量不起作用,所有结果都是“a”,而预期结果是 option1=a、option2=b 等.

这是演示该问题的代码:

call temp.bat a b c d e f g h i j k l m n o p q r s t e u v w x y z
pause
exit

对于 temp.bat:

set Number=0
for %%a in (%*) do set /a Number+=1

for /l %%a in (1,1,%Number%) do (
set option%%a=%1
shift
)
exit /b

我已尝试 !%1! 但结果为空; %%1% 结果为“%1”; %1% 与仅使用 %1

的结果相同

最佳答案

您可以使用call强制执行另一级间接。在评估之前,它会将 %%1 扩展为 %1

for /l %%a in (1,1,%Number%) do (
call set option%%a=%%1
shift
)

另请参阅此处的替代方案:Batch-Script - Iterate through arguments

关于batch-file - 如何对 %%a 或 %1 等变量使用延迟扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69313556/

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