如何在 .bat for-loop 中使用字符串变量? [关闭]
Posted
技术标签:
【中文标题】如何在 .bat for-loop 中使用字符串变量? [关闭]【英文标题】:How can I use a string variable in .bat for-loop? [closed] 【发布时间】:2022-01-20 19:39:55 【问题描述】:在 .bat 文件中,可以在 for 循环中使用 char 类型的变量。例如下面的代码,
@echo off
for /l %%p in (15,2,20) do (
echo %%p
)
如预期的那样给出“15 17 19”。但是如果我使用字符串类型的变量,它就不再起作用了,
@echo off
for /l %%parameter in (15,2,20) do (
echo %%parameter
)
我想知道是否有可能使第二段代码工作。有人可以帮帮我吗?非常感谢。
【问题讨论】:
不,这是不可能的,您必须使用单个字符作为for
元变量...
不是你可以,但你有什么理由需要/想要?
您可以通过阅读FOR
命令的帮助文件来回答您自己的问题
【参考方案1】:
%value%
的使用用于定义包含多个字符的变量。 %%
用于定义由单个字符组成的变量。
由于for
循环中只允许使用%%
,因此%value%
不能用于定义具有多个字符的变量。在这种情况下,唯一的选择是使用%%
定义单个字符变量;比如%%p
。
for
循环的语法如下:
for %%a in (list) do command [ parameters ]
【讨论】:
【参考方案2】:您可以使用用 for 元变量定义的普通环境变量来代替 for 元变量:
@Echo off
Set "Loop[1]=%%#"
Set "Loop[2]=%%@"
For /l %Loop[1]% in (1 1 5) Do For /l %Loop[2]% in (5 1 9) Do (
<nul set /p=%Loop[1]% + %Loop[2]%=
Cmd /c Set /A %Loop[1]% + %Loop[2]%
Echo(
)
【讨论】:
i.imgur.com/F9HPj7q.jpg以上是关于如何在 .bat for-loop 中使用字符串变量? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 javascript for-loop 和 if-statement 在右表中显示数据?
如何使用 For-loop 和 Tell 函数填充每行的起始位置列表?