如何在Windows命令行和批处理脚本中使用文件名中的日文字符?

时间:2014-02-07 08:00:02

标签: windows batch-file encoding localization cjk

我正在日语环境中使用日语版的Windows 7,不幸的是,我需要处理的许多文件和文件夹名称都使用日语字符。

例如,我在.bat文件中有这一行:

xcopy * "C:\blahblah\動作確認\" /E /R /K /Y /I 

但是,在C:\ blahblah \文件夹中,这是我得到的文件夹的名称:    C:\ blahblah \蜍穂ス勤「コ隐构

问题在于动作确认已经转变为蜍穂ス勤“コ隐构”。后者,虽然它使用亚洲字符(和标点符号)是无意义的胡言乱语,甚至不是所有日语字符。

我研究了这个问题,我发现许多使用Windows英语本地化的人都有一个问题,他们会看到问号而不是日文字符。这不是我使用日语本地化Windows所发生的情况 - 如果我启动cmd并导航到我要复制的源文件夹的父级,运行dir并获得此输出:

2014/02/07  16:36    <DIR>          蜍穂ス懃「コ隱構

这是胡言乱语,而不是真正的日本人。

那么我需要做些什么来使我的批处理文件中的xcopy命令工作?

2 个答案:

答案 0 :(得分:3)

我猜你已经找到了解决办法,但让我回答。

如果您有UTF-8个字符串動作確認的字节序列并将其解析为CP932(又名Shift-JIS)字节序列,您将获得{{1}或类似的字符串。

日语版的Windows使用蜍穂ス懃「コ隱構作为默认编码,因此我们必须在CP932中指定文件/目录名称。

在您的情况下,您必须在CP932中写下.bat文件。你应该在UTF-8中写下来。

答案 1 :(得分:0)

除了@t_motooka的答案外,如果将系统区域设置(Control Panel / Region and Language / Administrative / Change system locale)从英语(默认)更改为日语,则cmd默认代码页将更改为CP932,之后,大多数日本相关工作的时间也可以。