Conflicto ANSI / Unicode en archivo por lotes

Tengo algunos archivos por lotes que usan un archivo de texto para la independencia del idioma. Hasta ayer todo funcionó bien ... pero luego comencé a traducir los textos estándar al holandés y al alemán. Ambos idiomas usan los llamados caracteres diacríticos o acentuados como ä, ë, ö. Creo que el español dará los mismos problemas con ñ. Creé el archivo de texto con el Bloc de notas con codificación estándar, que es ANSI. Simplemente escribiendo (DOS: TYPE) el archivo mostró los caracteres acentuados incorrectos: p. ë se mostró como Ù. Después de editar el archivo de texto y guardarlo con la codificación Unicode, el TIPO DE DOS mostró exactamente lo que escribí en el Bloc de notas. En este punto, pensé que mi problema estaba resuelto ... ¡pero mi código de lote ahora no me muestra ningún texto! Todo el texto se recupera del archivo mediante un archivo por lotes que se ve así (simplificado):

@rem Parms %1 text type number             File %%a program name
@rem       %2 program name (double quoted)      %%b  - - filler (tabs)
@rem       %3 text number                       %%c text number
@rem       %4 replacement value - 1             %%d  - - filler (tabs)
@rem       %5 replacement value - 2             %%e text string
set TempText=
set TempType=
setlocal enabledelayedexpansion
@rem Read file until both values are set ...
for /f  "usebackq tokens=1,2,3,4,5 delims=|" %%a in ("%EnvPath%Text.txt") do (
    if /i   %%a==Tools (if /i %%c==%1 (set  TempType=%%e))
    if /i   %%a==%~2   (if /i %%c==%3 (set  TempText=%%e))
    if not  "!TempType!"=="" (if not "!TempText!"=="" (goto :Leave))
)
:Leave
endlocal & set TempText=%TempText%&set TempType=%TempType%

CuandoECHO esON muestra que no se leen líneas del archivo o que el bucle FOR nunca se ejecuta.

Mi pregunta es: ¿cómo puedo hacer el bucle FOR para leer los textos Unicode?

Respuestas a la pregunta(2)

Su respuesta a la pregunta