Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 在变量中使用变量_String_Variables_Batch File_For Loop_Substring - Fatal编程技术网

String 在变量中使用变量

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% 我希望它显示为: 这是一条很长的绳子 因此,换句话说,我正在尽可能优化我的代码,我想做一个函数,一次打印一个变量一个字母,但它不允许我

在此代码中,我无法在变量“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%

我希望它显示为:

这是一条很长的绳子


因此,换句话说,我正在尽可能优化我的代码,我想做一个函数,一次打印一个变量一个字母,但它不允许我以我想要的方式使用子字符串。

这应该做你想要的,包括你想要的输出中的前导空间。如果要删除前导空格,请删除下面的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
开始