文件批量转UTF8编码

接手了一个很旧的.Net项目,估计当初使用的是VS2005开发的,.cs文件编码格式显示的都是ANSI(ANSI不是某种编码格式,含义是使用当前计算机默认编码格式),当时开发这个项目的计算机编码格式是Big5。现在在我电脑上编译就报错,等一会错误就消失了。原因就是因为文件编码的问题

现在我要将所有的.cs文件编码格式都转换为UTF8,我们使用ps脚本帮我们完成这个操作:

$list = Get-ChildItem .\Source\ -recurse *.cs|%{$_.FullName}
$Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False)
foreach ($i in $list){
    Write-Host $i
    $a = Get-Content $i
    [System.IO.File]::WriteAllLines($i, $a, $Utf8NoBomEncoding)
}
echo
  1. 新建一个文本文件,将上述代码粘贴进去,修改后缀名为 .ps1。 例如我的脚本名为 csToUtf-8.ps1
  2. 在脚本同级新建文件夹 Source 
  3. 将要转码的文件放入Source文件夹中
  4. 使用Powershell执行脚本 csToUtf-8.ps1

上述脚本限定了只转换文件后缀为.cs的文件,可以根据需求进行修改

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值