使用vbs脚本uft8toansi进行文件编码转换

1 篇文章 0 订阅

控制台里面编译.java文件,如果源文件字符编码是utf-8或者其他编码格式,就会报错,如图:
这里写图片描述
如果每次都打开另存为ansi比较麻烦,就想着windows有没有批处理功能。百度了很久批处理没有结果,最后使用vbs来转换。将代码内容保存,文件名为uft8toansi.vbs。就能使用:

uft8toansi srcFile tarFile  '另存为
uft8toansi srcFile          '进行替换

可以使用绝对路径,也可以将uft8toansi.vbs的路径添加到path中在任意路径下使用。下面代码实现了基本的功能。

'vbs获得当前路径
Set args = WScript.Arguments
If args.Count = 2 Then
  strFile= WScript.Arguments(0)
  tarFile= WScript.Arguments(1)
ElseIf args.Count = 1 Then
    strFile= WScript.Arguments(0)
  tarFile= strFile
Else
    Msgbox "uft8toansi使用方法为: uft8toansi strFile tarFile" 
End If          
Set ws=WScript.CreateObject("wscript.shell")
w=ws.CurrentDirectory 
'F:\java控制台运行\tmp\test.vbs
Set fso=WScript.CreateObject("scripting.filesystemobject")
'控制台调用时的当前路径 如: F:\java控制台运行\tmp
'如果在任意路径使用set path=path;F:\java控制台运行\tmp\  然后test.vbs显示的控制台当前路径
Set fs=fso.GetFolder(w)
'Set f=fso.SubiFolders
'For Each uu In f
'  t=t & uu.Path & vbcrlf
'Next

'strFilePath = fs.path & strFile
'tarFilePath = fs.path & tarFile 
'MsgBox strFilePath & "---superman---" & tarFilePath

dim ADOStrm
dim s
Set ADOStrm = CreateObject("ADODB.Stream")
ADOStrm.Type = 2
ADOStrm.Mode = 3
ADOStrm.CharSet = "utf-8"
ADOStrm.Open
ADOStrm.LoadFromFile strFile
s = ADOStrm.ReadText
ADOStrm.Position = 0
ADOStrm.CharSet = "gbk"
ADOStrm.WriteText s
ADOStrm.SetEOS
ADOStrm.SaveToFile tarFile, 2
ADOStrm.Close
Set ADOStrm = Nothing
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值