我的批处理文件中的 xcopy 无法正确复制特殊字符。Š 变成了 è。还有其他奇怪的字符也发生了变化。
这是批处理文件中的命令:
dir "\\USATL02ERAS40\auditfiles\Loblaws\LCL_2016\Z-DT\NDS 2016\LCL SUPPLIED 2016\*.xls*" /A /B /S > XLSVndDir1.tx
这是文件名:
1027948_16356344_wk 35 @NIVEA BODY@48965 Body 625ml 77240 CrŠme Soft 250-200ml 24253 Inshower @ AD @ $0 30 $0 50 $0 05 @ RCWC EF_VS.xlsm
这是我的文本文件中的输出:
1027948_16356344_wk 35 @NIVEA BODY@48965 Body 625ml 77240 Crème Soft 250-200ml 24253 Inshower @ AD @ $0 30 $0 50 $0 05 @ RCWC EF_VS.xlsm
如何使用特殊字符获取正确的名称?
答案1
明目张胆莫吉巴克案件。
目标文件的编码>
重定向在 Windows 命令行中严格依赖于(并且默认为)活动代码页(除非在cmd /U
)。
例子:
==> dir /b /S ".\files\1207235\*.txt"
d:\bat\files\1207235\Crème.txt
==> del 1207235log.txt
==> chcp 437
Active code page: 437
==> >>1207235log.txt dir /b /S ".\files\1207235\*.txt"
==> chcp 1252
Active code page: 1252
==> >>1207235log.txt dir /b /S ".\files\1207235\*.txt"
==>
==> type 1207235log.txt
d:\bat\files\1207235\CrŠme.txt
d:\bat\files\1207235\Crème.txt
==> chcp 437
Active code page: 437
==> type 1207235log.txt
d:\bat\files\1207235\Crème.txt
d:\bat\files\1207235\CrΦme.txt
==>