演示
echo "ABCDE &!@#$ ^<>() %% abcde 测试!"> "处理前.txt"
GB2Ue.vbs "处理前.txt" "处理后.txt"
Ue2U8.vbs "处理后.txt"
U82GB.vbs "处理后.txt"
GB2U8.vbs "处理后.txt"
U82Ue.vbs "处理后.txt"
Ue2GB.vbs "处理后.txt"
@echo 经过6次处理 "处理后.txt" 和 "处理前.txt" 仍旧是相同编码
如果不知道文件的原始编码,请使用
下面里面里面具体代码:
复制代码 代码如下:
' *==============================================================================*
' * CMD 命令行编码转换工具包括GB2312,UTF-8,Unicode,BIG5...支持拖拽、文件另保存为 *
' * CodeChange.vbs BY: yongfa365
' * GB2Ue.vbs BY: fastslz
' *==============================================================================*
aCode = "GB2312"
bCode = "Unicode"
Show = "本脚本仅支持"&aCode&"到"&bCode&"的转换,请拖拽单个要转换的文件到此文件上! "
Usage1 = "语法1:GB2Ue.vbs [驱动器][目录][文件名] (直接替换原文件模式)"
Usage2 = "语法2:GB2Ue.vbs [驱动器][目录][文件名] [目标驱动器][目录][新名称] /Y"
Usage3 = " 如果目标新文件已存在,使用/Y参数后将直接替换而不提示是否改写! "
Usage4 = "命令行编码转换工具 BY: fastslz"
Set objArgs=WScript.Arguments
Set fso=CreateObject("Scripting.FileSystemObject")
if objArgs.Count=0 Then
MsgBox Show &vbCrLf&vbCrLf& Usage1 &vbCrLf& Usage2 &vbCrLf& Usage3, vbInformation, Usage4
Wscript.Quit
end if
if not objArgs.Count < 3 Then
Options="/y"
ignoring = StrComp(objArgs(2), Options, vbTextCompare)
if ignoring = 0 Then
Sourcefile=objArgs(0)
Getfile=objArgs(1)
else
MsgBox "文件数量或参数太多,拖拽批量处理请用 ANSI2Unicode.vbs ", vbInformation, "程序意外终止"
Wscript.Quit
end if
else
if not objArgs.Count < 2 Then
Sourcefile=objArgs(0)
Getfile=objArgs(1)
if fso.FileExists(objArgs(1)) then
Choice = MsgBox ("待处理文件“"+Sourcefile+"” ==> 目标文件“"+Getfile+"” "&vbCrLf&"目标文件已存在,是否改写现有文件?“"+objArgs(1)+"” ",vbQuestion+vbYesNo,"是否改写")
if Choice = vbYes Then
Getfile=objArgs(1)
else
Wscript.Quit
end if
end if
else
Sourcefile=objArgs(0)
Getfile=objArgs(0)
end if
end if
Call CheckCode (Sourcefile)
Call WriteToFile(Getfile, ReadFile(Sourcefile, aCode), bCode)
Wscript.Quit
Function ReadFile (Sourcefile, CharSet)
Dim Str
Set stm = CreateObject("Adodb.Stream")
stm.Type = 2
stm.mode = 3
stm.charset = CharSet
stm.Open
stm.loadfromfile Sourcefile
Str = stm.readtext
stm.Close
Set stm = Nothing
ReadFile = Str
End Function
Function WriteToFile (Getfile, Str, CharSet)
Set stm = CreateObject("Adodb.Stream")
stm.Type = 2
stm.mode = 3
stm.charset = CharSet
stm.Open
stm.WriteText Str
stm.SaveToFile Getfile,2
stm.flush
stm.Close
Set stm = Nothing
End Function
Function CheckCode (Sourcefile)
Dim slz
set slz = CreateObject("Adodb.Stream")
slz.Type = 1
slz.Mode = 3
slz.Open
slz.Position = 0
slz.Loadfromfile Sourcefile
Bin=slz.read(2)
if AscB(MidB(Bin,1,1))=&HEF and AscB(MidB(Bin,2,1))=&HBB Then
Codes="UTF-8"
elseif AscB(MidB(Bin,1,1))=&HFF and AscB(MidB(Bin,2,1))=&HFE Then
Codes="Unicode"
else
Codes="GB2312"
end if
if not aCode = Codes Then
MsgBox "待处理文件 “"&Sourcefile&"”"&vbCrLf&"该文件原始编码不是"&aCode&",本脚本仅支持"&aCode&"到"&bCode&"的转换! ",vbInformation,"错误终止"
WScript.Quit
end if
slz.Close
set slz = Nothing
End Function
打包下载地址
相关推荐:
jQuery 使用手册(二)
PHP 身份验证方面的函数
国外开发者谈为何放弃PHP而改用Python
DBCC CHECKIDENT 重置数据库标识列从某一数值开始
jquery animate 动画效果使用说明
phpsir 开发 一个检测百度关键字网站排名的python 程序
PHP 日常开发小技巧
从Oracle 表格行列转置说起第1/2页
服务器升级显优势 掀起企业选购热潮
jQuery 使用手册(一)
phpmailer 中文使用说明(简易版)
ASP程序与SQL存储过程结合使用详解
vbs 搜索代理地址实现代码[小偷程序]
JavaScript 变量基础知识
asp.net 页面间传值方法小结
ie与firefox下的event使用说明与详细区别
PHP教程 预定义变量
JavaScript 语法集锦 脚本之家基础推荐
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
文字瞬间从左到右切换显示的JavaScript代码
PHP小程序自动提交到自助友情连接
用按钮触发Javascript动态生成一个表格的代码
asp.net与Discuz!NT整合集成实例教程
用户"sa"登陆失败 SQLServer 错误18456的解决方法
服务器安全策略 IP安全策略设置方法
Javascript showModalDialog两个窗体之间传值
Javascript 日期处理之时区问题
SQL2005 大数据量检索的分页
SQLSERVER中union,cube,rollup,cumpute运算符使用说明
javascript 面向对象,实现namespace,class,继承,重载
JS 截取字符串substr 和 substring方法的区别
Js 打字效果 逐一出现的文字
三网主机加速引擎 三代功能助网站腾飞
MSSQL汉字转拼音函数实现语句
MSSQL 提取汉字实现语句
网站控制台directadmin中文手册 Linux下虚拟主机管理
javascript线性渐变一
JavaScript 基础知识 被自己遗忘的
在 .NET Framework 2.0 中未处理的异常导致基于 ASP.NET 的应用程序意外退出
html数组字符串拼接的最快方法
Ha0k 0.3 PHP 网页木马修改版
JavaScript 三种不同位置代码的写法
prototype 中文参数乱码解决方案
php 将excel导入mysql
Javascript select下拉框操作常用方法
apache 二级域名解析 (window与linux)
Asp.net treeview实现无限级树实现代码
javascript String split方法误操作
php self,$this,const,static,-&gt;的使用
面向对象的javascript(笔记)