请问用批处理命令如何将ANSI编码的txt文件批量转换utf8编码的?就右键另存为那种,但是量太大。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问用批处理命令如何将ANSI编码的txt文件批量转换utf8编码的?就右键另存为那种,但是量太大。相关的知识,希望对你有一定的参考价值。
之前您回答了一个ANSI转utf-8的,但是用不了。另外一个ANSI转unicode的是可以用的,但是怎么修改一下,可以转成utf-8呢?
参考技术A 不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI/GB2312,跟要处理的文件放一起双击运行cls&echo off&cd /d "%~dp0"rem 将ANSI编码的txt文本文件转化为UTF-8编码
set #=Any questions&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "self=%~f0"
powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$self=get-item -literal $env:self;
$current=$self.Directory.FullName.trimend('\\');
$newfolder=$current+'\\result';
if(-not (test-path -literal $newfolder))[void][IO.Directory]::CreateDirectory($newfolder);
$files=@(dir -literal $current|?('.txt' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo]));
if($files.length -ge 1)
write-host $files[0].FullName.Substring($current.length);
$oldenc=[Text.Encoding]::GetEncoding('GB2312');
$newenc=New-Object System.Text.UTF8Encoding $False;
$newfile=$newfolder+'\\'+$files[0].Name;
$text=[IO.File]::ReadAllText($files[0].FullName, $oldenc);
[IO.File]::WriteAllText($newfile, $text, $newenc);
如何将许多ANSI格式的txt文档批量转换成UTF8格式?
假设你的文件是ansi(gbk),用Replace Pioneer批量转换为UTF8的方法如下:第一步:选文件
1.打开Tools->Batch Runner菜单
2.点击Pick Files,用鼠标对需要处理的多个文件进行多选。
第二步:变换编码
1.点击Change Encode按钮
2.点击input encoding,设置成CN->gbk
3.点击output encoding,设置成utf-8
4.点击start,完成
注:如果你想把输出保存到新文件里,可以在点击Start之前修改set output filename,把它从$FILENAME改成新的规则,比如$FILENAME.new,还要注意备份,以防操作失误。 另外,你还可以把输出保存到新文件夹里。
如果你要的utf-8文件带BOM标识,需要选utf-8-BOM而不是utf-8 参考技术A 搜一下:如何将许多ANSI格式的txt文档批量转换成UTF8格式?
以上是关于请问用批处理命令如何将ANSI编码的txt文件批量转换utf8编码的?就右键另存为那种,但是量太大。的主要内容,如果未能解决你的问题,请参考以下文章
求助:怎样用cmd命令把指定的a.txt文件的编码格式从ANSI转换为UTF-8。谢谢!
批量将ANSI文本txt文件转换成UTF8编码格式 (vbs方法)