String 在变量中使用变量
在此代码中,我无法在变量“varname”的内部使用变量“%a”:String 在变量中使用变量,string,variables,batch-file,for-loop,substring,String,Variables,Batch File,For Loop,Substring,在此代码中,我无法在变量“varname”的内部使用变量“%a”: @echo of set varname=stringhere for /l %%a in (1,1,10) do ( echo %varname:~1,%%a% ping -n 0.01 >nul ) 但它显示的是: a%a%a%a%a%a%a%a%a%a%a%a%a% 我希望它显示为: 这是一条很长的绳子 因此,换句话说,我正在尽可能优化我的代码,我想做一个函数,一次打印一个变量一个字母,但它不允许我
@echo of
set varname=stringhere
for /l %%a in (1,1,10) do (
echo %varname:~1,%%a%
ping -n 0.01 >nul
)
但它显示的是:
a%a%a%a%a%a%a%a%a%a%a%a%a%
我希望它显示为:
这是一条很长的绳子
因此,换句话说,我正在尽可能优化我的代码,我想做一个函数,一次打印一个变量一个字母,但它不允许我以我想要的方式使用子字符串。这应该做你想要的,包括你想要的输出中的前导空间。如果要删除前导空格,请删除下面的REM
@echo off
setlocal enabledelayedexpansion
set varname=stringhere
set "OutString="
for /l %%a in (1,1,10) do set OutString=!OutString! !varname:~0,%%a!
REM set OutString=%OutString:~1%
echo.%OutString%
pause
这应该是您想要的,包括您想要的输出中的前导空间。如果要删除前导空格,请删除下面的REM
@echo off
setlocal enabledelayedexpansion
set varname=stringhere
set "OutString="
for /l %%a in (1,1,10) do set OutString=!OutString! !varname:~0,%%a!
REM set OutString=%OutString:~1%
echo.%OutString%
pause
请注意,字符串从字符0
开始
请注意,字符串从字符0
开始