问题描述:
bat脚本变量赋值输出时提示”ECHO 处于关闭状态“
问题原因:
变量值如果为空就会提示关闭;
解决办法:
1、变量左右不能有空格,如果有空格,空格会被当成变量名从而值为空;
2、批处理有一种机制是变量延迟,可以加setlocal enabledelayedexpansion(延迟本地环境变量扩展),在cmd动态变量赋值过程中,如果不主动开启延迟本地环境变量扩展,就不会对变量进行预处理。
注意:开启setlocal enabledelayedexpansion后,变量引用要用!!。
@echo off
setlocal enabledelayedexpansion
for /f "eol=#" %%i in (jdbc.properties) do (
echo %%i| findstr "jdbc.url_trd" >nul && (
echo %%i
set ifo=sdawgeav1111
echo !ifo!
)
)
pause>nul
解决_