Bearbeiten: Ich habe mich geirrt;)
cmd.exeakzeptiert UTF-8, aber Sie müssen sicher sein, es ohne das BOMam Anfang der Datei zu speichern.
Hier ist ein zweiter Test. Sie können chcp 65001am Anfang Ihrer Batch-Datei verwenden.

Eine Batchdatei kann nicht vom Typ UTF-8 sein. Es muss ASCII sein. Cmd.exeakzeptiert einfach kein anderes Format. Ich habe einen kleinen Test gemacht und du kannst deine Charaktere benutzen, aber es braucht etwas Arbeit.
Machen Sie eine Datei test.batmit echo Å Ä Ö. Speichern Sie es mit Format ANSI/ASCII. Öffnen Sie a cmd.exeund stellen Sie sicher, dass Sie es cmd.exeverwenden Lucida Console(um die Unicode-Zeichen anzuzeigen).
Wenn Sie die Datei eingeben, werden Zeichen als alte DOS-Zeichen angezeigt. Sie können eine Übersetzung Chart sehen hier .
Wenn Sie zu einer "Windows Ansi" - Codepage (dh westeuropäisches Latein) wechseln, werden chcp 1252die Zeichen korrekt angezeigt. Ob sie auch zu ihren jeweiligen Dienstprogrammen übertragen werden, hängt von diesem Dienstprogramm ab.
Aber warum erstellen Sie dafür eine Batch-Datei? Können Sie es nicht einfach in VB.net codieren?

Bearbeiten 2 #:
Dies ist , wie Sie festgelegt Lucida Consolein cmd.exe:

Das BOMsind 3 Zeichen am Anfang einer UTF-8-Datei. ( \xEF\xBB\xBF).
In VB.net würden Sie eine Datei erstellen , ohne eine BOMwie folgt aus :
Dim utf8WithoutBom As New System.Text.UTF8Encoding(False)
'^^^^^'
Using sink As New StreamWriter("Foobar.txt", False, utf8WithoutBom)
sink.WriteLine("...")
End Using