在Windows上递归更改文件的编码?

Pek*_*ica 16 windows unicode utf-8

有没有人知道一个工具,最好是资源管理器上下文菜单,以递归方式将项目中文件的编码从ISO-8859-1更改为UTF-8和其他编码?免费软件或不太昂贵将是伟大的.

编辑:感谢您的回答,+1为所有.但我真的希望能够右键单击一个文件夹并说"将所有.php文件转换为UTF-8".:)赞赏进一步的建议,开始赏金.

小智 31

您可以使用Windows PowerShell轻松实现这样的功能.如果获得了文件的内容,则可以将其传递给Out-File cmdlet,并指定UTF8作为编码.

尝试类似的东西:

Get-ChildItem *.txt -Recurse | ForEach-Object {
$content = $_ | Get-Content

Set-Content -PassThru $_.Fullname $content -Encoding UTF8 -Force}  
Run Code Online (Sandbox Code Playgroud)

  • 根据 [powershell 文档](https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.management/set-content#-encoding),您只能使用少数编码选项, windows-<anything> 不是其中之一。 (3认同)
  • 也许值得注意的是它是带有BOM的UTF-8。 (2认同)

Mar*_*ark 5

我不知道上下文菜单中的内容,但是记事本++允许您更改文件编码,并且它有一个宏选项...因此您可以自动化该过程