enabledelayedexpansion批处理文件中的子字符串

时间:2018-01-28 15:21:28

标签: batch-file

编辑27-05-2018: 我有一个名为“Var01”的变量,作为分配给它的字符串“String01”。 我想我想从变量的名称“Var01”创建一个子串,例如“ar01”。 经过审查,我认为实际上是不可能的,因为“Var01”是一个变量,而不是一个字符串(我可能错了)。如果可能,我如何从变量“Var01”中提取子字符串,而不是分配给“Var01”的字符串的子字符串。

我最初尝试做的是返回名为“Var01”的变量的子串

这是我在BATCH文件中使用的一些代码。我无法以大胆的方式获得以下内容。

调用echo VariableName:%~1 VariableName的子字符串:%% ~1:~1,4 %%

如果工作正常,则应返回“ar01”然后返回“ar02” 我希望能够获取变量的名称并从中创建子字符串。

@cls
@echo off
echo Name of this batchfile: %~n0
echo/
goto :MainFunction

:Func01
echo/
echo Running Func01
call echo VariableName: %~1 VariableValue: %%%~1%%
call echo VariableName: %~1 VariableName's substring: %%~1:~1,4%%
call echo VariableValue: %%%~1%% VariableValue's substring: %%%~1:~1,1%%
echo/
set /P "%~1=Set new value for Variable %~1: "
goto :EOF

:MainFunction
echo This is the main function!
set "Var01=string01"
set "Var02=string02"
echo Var01 is equal to %Var01% and a substring is %Var01:~1,1%
echo Var02 is equal to %Var02% and a substring is %Var02:~1,1%
call :Func01 Var01
call :Func01 Var02
echo/
echo Var01 is now equal to %Var01%
echo Var02 is now equal to %Var02%
pause
goto :EOF

0 个答案:

没有答案