Já estive nisso por horas e acabou de me dar conta do que eu precisava para o Google.
A resposta é usar a expansão de variável atrasada, então o script test.bat
se torna:
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /D %%f in ("fld-*") do (
set TEST=%%f
echo f: %%f
echo TEST: !TEST!
echo TEST[0,1]: !TEST:~0,1!
echo.
)
e se comporta conforme necessário:
C:\Users\Bob\Desktop\test>test.bat
f: fld-blahblah"
TEST: fld-blahblah
TEST[0,1]: f
f: .fld-blah"
TEST: .fld-blah
TEST[0,1]: .