批处理是按一条条语句执行的,所以这写法不会出现你说的问题,你得从其他方面找原因。set aa=!aa:cc!这语句干嘛用的,难道是把文本内容全替换成aa:cc?采用下面写法比较好:(for /f "delims=" %%a in (333.txt) do ( set aa=%%a set aa=!aa:cc! echo !aa!))>>1.txt
在每个段之间加一条pause命令,就可以暂停下来。看运行结果。bat没有单一逐语句的debug调试功能。