Ahora entonces no se me ocurre otra cosa que si tengo que eliminar 50 URL tengo que reescribir el archivo 50 veces, usando 50 veces find, al igual que para escribirlas usaba un find para cada una...
No precisamente, Puedes reescribir el archivo una vez, usando find 50 veces...
Type "hosts" | find /V /I "%URL1%" | find /V /I "%URL2%" | find /V /I "%URL3%" | find /V /I "%URL4%"
etc...
Tambien puedes usar
FINDSTR que te ayudaría a simplificar un poco el proceso permitiendo buscar varias cadenas al mismo tiempo:
Type "hosts" | findstr /V /I "%URL1% %URL2% %URL3% %URL4%"
PD: Cuidado con los espacios y los puntos.
FINDSTR /?
PD: Una dudilla por que pones "| More" después de los "Echo"?
Para añadir una linea de Echo en blanco.
(Para ahorrar lineas de escritura en el code)
Salu2