Hel*_*ein 9 windows unicode filenames batch-file
我需要在一个批处理文件中复制多个文件.这些文件具有映射到不同代码页的Unicode名称.
例:
set ArabicFile=???????
set CyrillicFile=??????
set GermanFile=Bücher
copy %ArabicFile% SomePlaceElse
copy %CyrillicFile% SomePlaceElse
copy %GermanFile% SomePlaceElse
Run Code Online (Sandbox Code Playgroud)
问题:批处理文件不能是Unicode.
问题:如何将Unicode文件名写入批处理文件,以便复制命令识别它们?
笔记:
我不在乎如何显示文件名.
实际上批处理文件不仅仅是复制这些文件,我只是简化了描述以使问题更加清晰.
正确的批处理文件:
通过Arnout的回答,我修改了我的批处理文件,如下所示.它现在可以正常工作而不需要更改字体(这会很麻烦,正如Arnout评论的那样).
@echo off
chcp 65001
set ArabicFolder=???????
set CyrillicFolder=??????
set GermanFolder=Bücher
robocopy /e d:\temp\test\%ArabicFolder% d:\temp\test2\%ArabicFolder% /log:copy.log
robocopy /e d:\temp\test\%CyrillicFolder% d:\temp\test2\%CyrillicFolder% /log+:copy.log
robocopy /e d:\temp\test\%GermanFolder% d:\temp\test2\%GermanFolder% /log+:copy.log
Run Code Online (Sandbox Code Playgroud)
Arn*_*out 14
如果
CHCP 65001为批处理文件的第一行,有用.简单,不是吗?:-)
(如果您没有将非ASCII输出写入控制台,则实际上不需要更改字体.)