Не уверен, что вы подразумеваете под «нечетными строками» [1], но этот оператор достигает того, что делает ваш код в настоящее время:
cd "$1" && rename 's/\.txt$/.bat/' *.txt
Не нужно делать собственные сообщения об ошибках, shell будет делать их просто отлично.
[1] Это делает его очень похожим на домашнее задание Uni.