批处理修改文件,如何判断某一行是空白行

批处理修改文件,如何判断某一行是空白行?
@echo off
for /f %%a in ('dir /b/s 优化版.bat') do (
if exist %%~dpa\%%~na_修改后.bat del %%~dpa\%%~na_修改后.bat
set "var=%%a"
setlocal enabledelayedexpansion
for /f "tokens=
delims=" %%i in ( !var!) do (
set "str=%%i"
if !str!=='' echo.
set "str=!str:-U交易数据库用户=-Usa!"
set "str=!str:-P用户密码=-Psa!"
set "str=!str:-S交易数据库实例=-U192.101.1.108,1433!"
echo !str!
)>>%%~dpa\temp.bat
pushd %%~dpa
ren temp.bat %%~na_修改后.bat
popd
)

pause

上面脚本中的if !str!=='' 验证判断不了空白行,求大神指点