我有一个小的 c# 控制台程序,它使用 Console.WriteLine 输出一些文本。然后,我将此输出通过管道传输到一个文本文件中,例如:
c:myprogram > textfile.txt
但是,该文件始终是 ansi 文本文件,即使我使用 /u 开关启动 cmd 也是如此。命令/?说 /u 开关:
/U 使管道或文件的内部命令输出为 Unicode
当我做一个
c:echo "foo" > text.txt
text.txt 是 unicode(没有 BOM)
我想知道为什么将我的控制台程序的输出通过管道传输到一个新文件中不会同样创建一个 unicode 文件,我该如何改变它?
我只是使用 Windows Power Shell(它会生成一个带有正确 BOM 的 unicode 文件),但我仍然想知道如何使用 cmd 来完成它。
谢谢!