- setlocal enabledelayedexpansion
- for /r %%i in (*.txt) do set var=!%%~ni:~0,2! & echo !var!
- for /r %%i in (*.txt) do set var=%%~ni &set var=!var:~0,2!& echo !var!
复制代码 (1)请教第一个for /r语句中为什么不能用一句set来截取%%~ni中的前两个字符呢?改为var=%%%~ni:~0,2%也不对,会报错,改为var=%%~ni:~0,2还是不对。也就是说set语句中的字符截取、替换不能直接用于for中的%%i、%%~ni等变量吗?
(2)启动了变量延迟之后为什么不需要将%%i改为!!i呢? |