我有多个.txt文件被创建为批处理文件的输出。当我用记事本打开它们时,它们都用英文正确显示。但是,如果我运行:为什么使用type命令添加文本文件内容会导致输出文件中出现垃圾?
type file1.txt >> file2.txt
来自file1的附加文本在file2中显示为不可读的字符。改变字体并没有帮助。
这是一种需要改变的编码吗?
如何获得此附加的原始文件的外观和格式?
我有多个.txt文件被创建为批处理文件的输出。当我用记事本打开它们时,它们都用英文正确显示。但是,如果我运行:为什么使用type命令添加文本文件内容会导致输出文件中出现垃圾?
type file1.txt >> file2.txt
来自file1的附加文本在file2中显示为不可读的字符。改变字体并没有帮助。
这是一种需要改变的编码吗?
如何获得此附加的原始文件的外观和格式?
此问题与cmd is somehow writing chinese text as output类似。
文本文件是Unicode文本文件,最有可能使用UTF-16小端编码。
要获得Unicode文本文件FILE1.TXT正确附加到使用命令type
Unicode文本文件FILE2.TXT有必要开始命令行解释cmd.exe
与开关/U
得到重定向成内部命令的输出文件或以Unicode格式传送到另一个命令。
作为Aacini建议已经正确,使用命令行是
cmd /U /C type file1.txt >> file2.txt
的另一种方法为串联2个或更多的文本文件是使用复制命令。
copy "Text File 1.txt" + "Text File 2.txt" + "Text File 3.txt" "Output File.txt"
这是没有必要的,即使在文本文件中UTF-16,而不是ANSI编码这种情况下调用cmd.exe
带开关/U
。
命令copy
如果所有3个文本文件与一个BOM Unicode文本文件自动删除的文本文件2.txt和文本文件3.txt字节顺序标记(BOM)。 输出File.txt包含在这种情况下仅在开始时的BOM。
copy *.txt "Output File.txt"
会连接目录中的所有文本文件名称为输出FILE.TXT文件。
注1:
NTFS文件系统驱动程序根据文件名返回按字母顺序排列的目录总的* .txt文件列表(非字母数字字符!)。因此,文件名称会在NTFS分区上确定文本文件串联的顺序。但是,FAT32文件系统驱动程序根据文件分配表中的列表返回目录中的* .txt文件列表,如果使用上述命令与*.txt
,导致FAT32分区上的文本文件连接顺序不可预知。
注2:
这是命令copy
所有文本文件具有相同的编码,即使用情况很重要所有文本文件都是UTF-16编码或所有文本文件都是ANSI编码的。
注3:
命令copy
也可以用来连接二进制文件。在命令提示符窗口copy /?
或help copy
中输入以获得简短帮助,解释可选开关/B
(二进制文件)和/A
(ASCII/ANSI文本文件)。
尝试:'cmd/U type file1.txt >> file2.txt' – Aacini
当我这样做时,它只是将实际的命令提示符附加到该文件:_TEXTFROMFILE2_Microsoft Windows [Version 6.2.9200] (c)2012 Microsoft公司。版权所有。 C:\ Users \ Tech>' – LuckyLee
EXCUSE ME!/C选项错过了! 'cmd/U/C类型file1.txt >> file2.txt' – Aacini