【发布时间】:2011-05-10 18:06:54
【问题描述】:
我需要在一个批处理文件中复制多个文件。这些文件具有映射到不同代码页的 Unicode 名称。
示例:
set ArabicFile=ڊڌڵڲڛشس
set CyrillicFile=щЖЛдЉи
set GermanFile=Bücher
copy %ArabicFile% SomePlaceElse
copy %CyrillicFile% SomePlaceElse
copy %GermanFile% SomePlaceElse
问题:批处理文件不能是 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
【问题讨论】:
标签: windows unicode batch-file filenames