Edit: mi sbagliavo;)
cmd.exenon accetta UTF-8, ma è necessario essere sicuri di salvarlo , senza l' BOMall'inizio del file.
Ecco un secondo test. È possibile utilizzare chcp 65001all'inizio del file batch.

Un file batch non può essere di tipo UTF-8. Deve essere ASCII. Cmd.exesemplicemente non accetta un altro formato. Ho fatto un piccolo test e puoi usare i tuoi personaggi ma ha bisogno di un po 'di lavoro.
Crea un file test.batcon echo Å Ä Ö. Salvalo con il formato ANSI/ASCII. Apri a cmd.exee assicurati dei tuoi cmd.exeusi Lucida Console(per visualizzare i caratteri Unicode).
Quando si digita il file mostrerà i caratteri come i vecchi caratteri DOS. Puoi vedere una tabella di traduzione qui .
Quando si passa a una "Ansi di Windows", la tabella codici (ovvero il latino dell'Europa occidentale) con chcp 1252i caratteri viene visualizzata correttamente. Se vengono anche trasferiti alle rispettive utility dipende da tale utility.
Ma perché stai creando un file batch per questo? Non puoi semplicemente codificarlo in VB.net?

Modifica 2 #:
Questo è il modo di impostare Lucida Consolein cmd.exe:

L' BOMsono 3 caratteri all'inizio di un file UTF-8. ( \xEF\xBB\xBF).
In VB.net dovresti creare un file senza un BOMsimile:
Dim utf8WithoutBom As New System.Text.UTF8Encoding(False)
'^^^^^'
Using sink As New StreamWriter("Foobar.txt", False, utf8WithoutBom)
sink.WriteLine("...")
End Using