Düzenleme: yanılmışım;)
cmd.exeUTF-8 kabul etmez ama bunu kaydetmek için emin olmak gerekir olmadanBOM dosyasının başında.
İşte ikinci bir test. chcp 65001Toplu iş dosyanızın başında kullanabilirsiniz .

Bir toplu iş dosyası UTF-8 türünde olamaz . ASCII olması gerekiyor. Cmd.exesadece başka bir formatı kabul etmiyor. Küçük bir test yaptım ve karakterlerini kullanabilirsin ama biraz çalışması gerekiyor.
İle bir dosya test.batoluşturun echo Å Ä Ö. Biçimle kaydedin ANSI/ASCII. A'yı açın cmd.exeve cmd.exekullanımınızdan emin olun Lucida Console(Unicode karakterleri görüntülemek için).
Dosyayı yazdığınızda, karakterleri eski DOS karakterleri olarak gösterir. Burada bir çeviri tablosu görebilirsiniz .
Bir "Windows Ansi" ye geçtiğinizde - kod sayfası (yani Batı Avrupa Latin) chcp 1252karakterleri ile doğru şekilde görüntülenir. Aynı zamanda kendi hizmetlerine aktarılırlarsa, bu işe bağlı olarak değişir.
Peki neden bunun için bir toplu iş dosyası oluşturuyorsunuz? Sadece VB.net'te kodlayamaz mısın?

2 Numarayı Düzenle:
Bu set nasıl Lucida Consolein cmd.exe:

BOMUTF-8 dosyasının başında 3 karakterlerdir. ( \xEF\xBB\xBF).
VB.Net'te bir dosyayı yaratacak olmadan bir BOMböyle:
Dim utf8WithoutBom As New System.Text.UTF8Encoding(False)
'^^^^^'
Using sink As New StreamWriter("Foobar.txt", False, utf8WithoutBom)
sink.WriteLine("...")
End Using