Command line! Not recognized

@echo off 
setlocal enabledelayedexpansion 
set a=4 
set a=5&echo !a! 
pause

Save the above code as a bat file, can run normally, output 5
, but enter the above command line by line on the command line, output! a!
will! a! Replace it with! a! a! ^! a ^! Can"t get the desired results

Mar.21,2021
Menu