我使用了for循环来按空格分割字符串。我还使用了一个循环来使每个单词都在自己的变量中,例如var1 = this,var2 = is,var3 = a,var4 = test。这看起来像“set var!count!= %% A”
有效。我只需要记住它。我怎么做?从逻辑上讲,我认为它看起来像这样: %VAR%计%%
有人可以向我解释如何获得吗?如果我有'计数'1,我该怎么办才能获得“var1”?
答案 0 :(得分:2)
有一种简单的方法,您需要启用延迟扩展,首先放置setlocal enabledelayedexpansion
,然后使用感叹号访问这些变量。您的脚本应如下所示:
@echo off
setlocal enabledelayedexpansion
:: Here comes your loops to set the variables
echo/!var%count%!
答案 1 :(得分:0)
批量浏览数组时,只需使用for /l
:
@echo off
setlocal enabledelayedexpansion
var0 = A
var1 = B
var2 = C
var3 = D
var4 = E
for /l %%a in (0, 1, 4) do (
Echo var%%a = !var%%a!
)
var0 = A
var1 = B
var2 = C
var3 = D
var4 = E
答案 2 :(得分:0)
我不明白您为什么需要这样做。您正在寻找的似乎是一个数组变量。您可以使用以下方法解决问题:
set variable=this;is;a;test
for %%a in (%variable%) do (echo %%a)
对于每个值,您都需要用“;”分隔 此代码的输出将是:
this
is
a
test
答案 3 :(得分:-1)
如果要在for语句之外打印出var1的内容,请使用
Echo %var1%
要首先在块内打印出var1的内容,需要启用延迟扩展,而不是用百分号括起变量引用,使用
Echo !var1!