我有以下代码:
set name=James
echo %name:~0,4%
它显示变量的前4个字母:Jame
但我想为显示的字母数插入一个变量,我可以用set
更改。像这样:
set num=3
set name=James
echo %name:~0,%num%%
结果应显示变量num
的字符串值的前name
个字符。
有什么方法可以获得理想的结果吗?
答案 0 :(得分:1)
您可以在echo语句周围添加一层%
,然后call echo
。
@echo off
set num=3
set name=James
call echo %%name:~0,%num%%%
或者您只需enabledelayedexpansion
@echo off
setlocal enabledelayedexpansion
set num=3
set name=James
echo !name:~0,%num%!
要获得delayedexpansion
的更多帮助,只需从cmdline运行setlocal /?
。