需要将大量文本文件从ANSI批量转换为Unicode

时间:2017-05-24 11:28:07

标签: unicode ansi

我有很多ANSI文本文件,大小不一(从几KB到1GB +),我需要转换为Unicode。

目前,这已经通过将文件加载到记事本然后执行"另存为..."并选择Unicode作为编码。显然这非常耗时!

我正在寻找一种方法来转换一次点击中的所有文件(在Windows中)。这些文件位于目录结构中,因此需要能够遍历整个文件夹结构并转换其中的所有文件。

我尝试了一些选项,但到目前为止还没有真正勾选所有方框:

  • ansi2unicode命令行实用程序。这与我之后最接近的是它在文件夹结构中递归处理文件...但它在完成转换之前一直运行时会一直崩溃。
  • CpConverter GUI实用程序。工作正常,但文件夹结构中的多个文件挣扎 - 似乎只能处理一个文件夹中的文件
  • DOS command可以在较小的文件上正常运行,但似乎无法处理大文件。
  • 尝试GnuWin sed utility,但每次尝试安装时都会崩溃

所以我还在寻找!如果有人有任何建议,我会非常感激

...谢谢

1 个答案:

答案 0 :(得分:1)

好的,所以万一其他人都感兴趣,我找到了一种方法来使用PowerShell:

Get-ChildItem "c:\some path\" -Filter *.csv -recurse | 
    Foreach-Object {
    Write-Host (Get-Date).ToString() $_.FullName
    Get-Content $_.FullName | Set-Content -Encoding unicode ($_.FullName  + '_unicode.csv')
}

通过整个文件夹结构进行递归,并将所有CSV文件转换为Unicode;转换后的文件写入与原件相同的位置,但使用" unicode"附加到文件名。如果要转换为不同的值(例如utf-8),可以更改-Encoding参数的值。

它还会输出所有转换的文件列表以及每个

的时间戳