non penso si possa fare una cosa come quella che chiedi
un batch esegue 1 comando alla volta e tutto quello che puoi fare č usare lo standard output (a meno di ricorrere ad Inter Process Comunication)
potresti provare a scrivere nello standard output
Program esempio;
Var
A:integer;
Begin
Readln(a);
If a=1 then Writeln('valore che leggera il batch')
else begin
A:=a+1;
Writeln(a);
End.