我有一大堆文件,文件名使用我们可爱的瑞典字母å å和ö。由于各种原因,我现在需要将这些转换为 [a-zA-Z] 范围。只需删除此范围之外的任何内容都相当容易。给我带来麻烦的是我想用a替换å用o替换ö等等。
这是最糟糕的字符集问题。
我有一组测试文件:
files\Copy of New Text Documen åäö t.txt
files\fofo.txt
files\New Text Document.txt
files\worstcase åäöÅÄÖéÉ.txt
我将我的脚本基于这一行,将其结果传递到各种命令中
for %%X in (files\*.txt) do (echo %%X)
奇怪的是,如果我将这个结果(即普通的 for 循环)打印到一个文件中,我会得到这个输出:
files\Copy of New Text Documen †„” t.txt
files\fofo.txt
files\New Text Document.txt
files\worstcase †„”Ž™‚.txt
因此,我的文件名甚至在到达其他工具之前就发生了一些奇怪的事情(我一直在尝试使用来自称为 GnuWin32 的 Windows 的 sed 端口来做到这一点,但到目前为止没有运气)并且对这些字符进行替换不会帮助。
你将如何解决这个问题?我对任何类型的工具、命令行或其他工具都持开放态度……</p>
编辑:这是一个一次性的问题,所以我正在寻找一个快速的'n丑陋的修复