ANSI / Unicode конфликт в командном файле

У меня есть несколько командных файлов, которые используют текстовый файл для независимости от языка. До вчерашнего дня все работало нормально ... но потом я начал переводить стандартные тексты на голландский и немецкий языки. Оба языка используют так называемые диакритические или акцентированные символы, такие как ä, ë, ö. Я думаю, что испанский даст те же проблемы с. Я создал текстовый файл с помощью Блокнота, используя стандартную кодировку ANSI. Просто набрав (DOS: TYPE) файл показал неправильные акцентированные символы: например, ë показал как Ù. После того, как я отредактировал текстовый файл и сохранил его в кодировке Unicode, DOS TYPE показал именно то, что я набрал в блокноте. В этот момент я думал, что моя проблема решена ... но мой пакетный код теперь не показывает мне никакого текста! Весь текст извлекается из файла командным файлом, который выглядит следующим образом (упрощенно):

@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%

когдаECHO являетсяON это показывает, что строки не читаются из файла или цикл FOR никогда не выполняется.

Мой вопрос: как я могу сделать цикл FOR для чтения текстов Unicode?

Ответы на вопрос(2)

Ваш ответ на вопрос