call :再圧縮の後の %%i を "%%i"
下の方に2つある %~p1%~n1.7z を "%~p1%~n1.7z"

%1は"%%i"ですでに囲ってあるので"付けちゃダメ