bat脚本字符替换问题请教

::@echo off
setlocal enabledelayedexpansion

for %%i in (C:\Users\guess\Desktop\dic*.bak) do (

for /f %%x in (%%i) do (
    echo %%x
    set str_test=%%x
    set str_test=%str_test:1=a%
    echo %str_test%
    echo %str_test% >> C:\Users\guess\Desktop\dic\test.txt
)

)

pause

exit
实现获取文件中内容替换获取字符中1位a,为什么str_test输出为空?

http://zhidao.baidu.com/link?url=PgoiD2fGnWqsTzipJXV4vCiPznMLa91l5H6iHWV2gT_vzXUckGK11EJqOVqN8zpHjk2fl-ckmItVK_g84RfVaa