gpt4 book ai didi

Windows 批处理 : Unicode parameters for (robo) copy command

转载 作者:可可西里 更新时间:2023-11-01 12:42:53 30 4
gpt4 key购买 nike

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

最佳答案

如果

  • 我将 CHCP 65001 添加为批处理文件的第一行,
  • 将文件保存为不带 BOM 的 UTF-8 格式,并
  • 将我的控制台字体设置为“光栅字体”以外的字体(在我的 Win7 机器上我可以选择 Consolas 或 Lucida Console),

它有效。很简单,不是吗? :-)

(如果您不向控制台写入非 ASCII 输出,实际上不需要更改字体。)

关于Windows 批处理 : Unicode parameters for (robo) copy command,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4193413/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com