HFShak, начнём с того. что в командном языке пакетных файлов отсутствует такая функция, как «удаление строки» (edlin в расчёт не берём). Удаление строк из файла, участвующего в разборе (без его предварительного чтения целиком и передачи по конвейеру) — это вообще интересная штука с не всегда предсказуемым поведением.
Хотите список «проблемных» — делайте их вывод в другой файл, наподобие:
читать дальше »
Код:

if exist "\\%%~i\C$\Windows" (
…
) else (
>"%~dp0ErrHosts.txt" echo %%~i
)
Хотите «смотреть сколько осталось» — делайте изначально подсчёт строк в файле, расчёты по мере обработки, включайте результаты подсчётов в вывод на консоль. И только-то.