Mmm, estás seguro de que así funciona??
Mira, usaste:
.
.
.
set /a punt=p1+p2
set /a op1=punt/2
set /a op2=op1*2
set /a res=punt-op2
.
.
.
y en la parte derecha de las expresiones aritméticas tenías que usar %% en las variables que querés que se reemplacen por su valor, o sea, la primer línea:
Y otra cosa, las expresiónes de las strings a comparar en una if se ponen entre corchetes, así ésta línea te quedaría:
En fin, tu código mejorado quedaría:
@echo off
title PingPong
:menu
echo Introducir la puntuacion del Jugador 1
set /p p1=
echo Introducir la puntuacion del Jugador 2
set /p p2=
set /a punt=%p1%+%p2%
set /a op1=%punt%/2
set /a op2=%op1%*2
set /a res=%punt%-op2
if [%res%]==[0] goto c
if %res% NEQ 0 goto incorrecto
:incorrecto
echo No toca cambiar de saque
pause
exit
:c
echo Toca cambiar de saque
pause
exit
No lo probé por falta de ganas, pero me la paso el dia escribiendo bats así que creo que eso está correcto.