Não entendo por que as variáveis gurl
e gfname
não estão sendo impressas
Você tem enabledelayedexpansion
, mas não está usando de expansão atrasada.
Para usar a expansão atrasada, você precisa substituir %variable%
por !variable!
da seguinte forma.
Arquivo em lote corrigido (test.cmd):
@echo off
setlocal enabledelayedexpansion
@ECHO off
for /f "tokens=*" %%g in (abc1.txt) do (
set gurl=%%g
set gfname=!gurl:~-1!
echo !gfname!
echo !gurl!
echo %%g
)
endlocal
Exemplo de saída:
> test
1
a1
a1
2
b2
b2
3
c3
c3
Leitura Adicional
- Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.
- enabledelayedexpansion - Expansão com atraso fará com que as variáveis sejam expandidas em tempo de execução e não no tempo de análise.