开启变量延迟:setlocal EnableDelayedExpansion,而字符"!"刚好是这种变量延迟的特殊字符,所以不会正常显示。 如果一定要在开启延迟变量的同时也显示 "!" 字符,必须在每一个"!"的前面加字符 "^" ,(shift + 6),然后就可以 echo !str! 正常显示。
下面是种变通的延迟变量开启法:使用 call + 两个%% @echo off for /f "delims=" %%b in ('type aaa.txt') do ( set "str=%%b" call echo. %%str%% >>bbb.txt ) pause