O diagnóstico "fim de arquivo inesperado" é uma sugestão de que você tem alguma construção sintática de abertura inigualável ou não terminada ( if
sem /fi
, do
sem / co_de %, abrindo colchetes sem o fechamento associado, citações de abertura, mas não finalizadas, etc.). O número da linha apontando para o final do script não é útil neste caso, além de dizer para inspecionar suas construções sintáticas; o erro pode estar em qualquer lugar no seu código. Você tem que verificar isso.