我需要在一个批处理文件中复制多个文件.这些文件具有映射到不同代码页的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)