如何在变量中使用变量?这段代码:
set newvar=%var%var2%%
Run Code Online (Sandbox Code Playgroud)
不起作用。那么该怎么办?没有它我就无法编写我的程序。
一个比较慢的方法。CALL 命令提供了额外的变量扩展级别。外部变量名称周围的百分比加倍以延迟扩展,直到内部变量被扩展之后。
@echo off
setlocal
set "var1=value"
set "var2=1"
call set "newvar=%%var%var2%%%"
Run Code Online (Sandbox Code Playgroud)
更好的方法是使用延迟扩展。它必须首先使用 SETLOCAL ENABLEDELAYEDEXPANSION 启用。解析该行时,将扩展百分比内的变量。感叹号中的变量在解析后,就在该行执行之前被扩展。
@echo off
setlocal enableDelayedExpansion
set "var1=value"
set "var2=1"
set "newvar=!var%var2%!"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4908 次 |
| 最近记录: |