我需要在一个批处理文件中复制多个文件。这些文件具有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
ECHO OFF
命令可以解决问题吗,还是您需要在控制台窗口中查看部分输出?您可能可以通过导入一些设置的 .REG 文件来指定字体,该文件位于 HKCU\Console 下,但这样做相当丑陋且可能不太健壮。(当然,您必须从另一个 .CMD 脚本执行此操作。) - ArnoutCHCP
是区分大小写的,我必须以小写形式编写命令。否则,该命令将无法识别。 - jahu