Batch file cmd用于循环转换特殊/外来字符?

Batch file cmd用于循环转换特殊/外来字符?,batch-file,cmd,command-prompt,Batch File,Cmd,Command Prompt,我有一个目录,其中的文件名中有一些不寻常的字符,一个简单的dir命令将返回正确的文件名: > dir /b ćłńó.txt 我在命令提示符下运行了一个非常简单的for循环。 但是,出于某种原因,for循环返回的文件名具有相似但不同的字符: > for /f "delims=" %F in ('dir /b') do echo %F clnó.txt 显然,这不是期望的结果 如何修复此问题?我认为与代码页chcp有关。看看这个,它可能会帮助您:。啊,那么答案就是在运行命令之前简单

我有一个目录,其中的文件名中有一些不寻常的字符,一个简单的dir命令将返回正确的文件名:

> dir /b
ćłńó.txt
我在命令提示符下运行了一个非常简单的for循环。 但是,出于某种原因,for循环返回的文件名具有相似但不同的字符:

> for /f "delims=" %F in ('dir /b') do echo %F
clnó.txt
显然,这不是期望的结果


如何修复此问题?

我认为与代码页
chcp
有关。看看这个,它可能会帮助您:。啊,那么答案就是在运行命令之前简单地使用
chcp 65001
?不确定,我无法重现错误。我能推荐的最好办法就是试试看。另外,请查看以确保没有副作用。使用chcp 65001是否有效?