将bat代码转换为VBS的工具脚本
2010年01月14日
程序代码
Dim WshSHell,FSO
On Error Resume Next
Set WshSHell = WScript.CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WinVer = WshSHell.Environment("Process")
Set Args = WScript.Arguments
CloseTime = 5
FileName = WScript.ScriptName
FileFullName = WScript.ScriptFullName
FilePath = FSO.GetParentFolderName(FileFullName)
InsPath = FSO.GetSpecialFolder(1)
InsFullName = FSO.BuildPath(InsPath ,FileName)
LnkPathNT = WshSHell.SpecialFolders(2)
LnkPath9X = WshSHell.SpecialFolders(14)
LnkPathAll = WshSHell.SpecialFolders("SendTo")
OtherFileName="Manage_New.txt"
OtherFilePath=FSO.GetSpecialFolder(2)
TemFileName="无标题"
TemFilePath=FSO.GetSpecialFolder(2)
Copyright="百度知道-WWEERR"
InsTitle="Bat2Vbs 百度知道-WWEERR提供"
InsAnswer="Bat2Vbs 百度知道-WWEERR提供"
RegPath1="HKEY_CLASSES_ROOT\batfile\shell\BatToVbs\"
RegValue1="BAT转VBS脚本文件"
RegForm1="REG_SZ"
RegPath2="HKEY_CLASSES_ROOT\batfile\shell\BatToVbs\command\"
RegValue2="wscript.exe " & chr(34) & InsFullName & chr(34) & " " & chr(34) & "%L" & chr(34)
RegForm2="REG_SZ"
IF FileFullName InsFullName then
intAnswer = MsgBox("【是】将“"+ InsAnswer +"”加入到右键菜单(其实是转换的右键菜单.右击BAT文件时会有一个转换按钮),"&Chr(10)&Chr(10)&"【否】将“"+ InsAnswer +"”从右键菜单删除。 ", vbQuestion + vbYesNoCancel, "安装 - "+ InsTitle +" - "+ Copyright)
If intAnswer = vbYes Then
WshSHell.RegWrite RegPath1,RegValue1,RegForm1
WshSHell.RegWrite RegPath2,RegValue2,RegForm2
FSO.GetFile(FileFullName).Copy(InsFullName)
WshSHell.popup _
"添加脚本文件:"+chr(10)+InsFullName+chr(10)+chr(10)+ _
"添加注册表项:"+chr(10)+chr(34)+ RegPath1 +chr(34)+chr(10)+ _
chr(10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _
chr(10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "安装成功 - "+ InsTitle +" - "+ Copyright, 0 + 64
end if
If intAnswer = vbNo Then
WshSHell.RegDelete RegPath2
WshSHell.RegDelete RegPath1
FSO.DeleteFile InsFullName
WshSHell.popup _
"删除脚本文件:"+chr(10)+InsFullName+chr(10)+chr(10)+ _
"删除注册表项:"+chr(10)+chr(34)+ RegPath1 +chr(34)+chr(10)+ _
chr(10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _
chr(10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "卸载成功 - "+ InsTitle +" - "+ Copyright, 0 + 64
end if
If intAnswer = vbCancel Then
end if
ELSE
if Args.count=0 then wscript.quit
Set ReadFile = FSO.OpenTextFile(Args(0), 1)
ReadAllText = ReadFile.ReadAll
ReadFile.Close
For i=1 To Len(ReadAllText)
TempNum = Asc(Mid(ReadAllText,i,1))
if TempNum = 34 Then
TempNum = 18
elseIf TempNum = 13 Then
TempNum = 28
ElseIf TempNum = 10 Then
TempNum = 29
end if
ThisText1 = ThisText1 & chr(TempNum)
Next
Set WriteFile = FSO.OpenTextFile(Args(0)&".VBS",2,True)
WriteFile.WriteLine("On Error Resume Next:Dim WshSHell,FSO,Bat2Vbs:Set WshSHell = WScript.CreateObject(""WScript.Shell""):Set FSO = CreateObject(""Scripting.FileSystemObject""):Bat2Vbs="""& ThisText1 &"""")
WriteFile.WriteLine("Execute(""For i=1 To Len(Bat2Vbs)""&vbCrLf&""TempNum = Asc(Mid(Bat2Vbs,i,1))""&vbCrLf&""If TempNum = 28 Then""&vbCrLf&""TempNum = 13""&vbCrLf&""ElseIf TempNum = 29 Then""&vbCrLf&""TempNum = 10""&vbCrLf&""elseif TempNum=18 Then""&vbCrLf&""TempNum = 34""&vbCrLf&""End If""&vbCrLf&""ThisText2 = ThisText2 & chr(TempNum)""&vbCrLf&""Next"")")
WriteFile.WriteLine("Set BatFile = FSO.OpenTextFile(FSO.BuildPath(FSO.GetSpecialFolder(2),""Temp.bat""),2,True):BatFile.WriteLine(ThisText2):BatFile.Close:WshSHell.Run ""%Comspec% /C ""&FSO.BuildPath(FSO.GetSpecialFolder(2),""Temp.bat""),1,false")
WriteFile.Close
end if
Set WshSHell = Nothing
Set FSO = Nothing
Set Args = Nothing
WScript.Quit(0)
保存以上代码为 58360.vbs 执行!
发表评论
-
vbs脚本:WriteText
2012-01-20 10:00 603vbs脚本:WriteText 2010年08月09日 ... -
VBS脚本:CopyFile
2012-01-20 10:00 547VBS脚本:CopyFile 2010年08月08日 2 ... -
vbs 脚本:CopyFile
2012-01-20 10:00 824vbs 脚本:CopyFile 2010年08月08日 ... -
vbs脚本:MoveFile
2012-01-20 10:00 681vbs脚本:MoveFile 2010年08月08日 R ... -
vbs脚本:CopyFolder
2012-01-20 10:00 609vbs脚本:CopyFolder 2010年08月08日 ... -
内存绘图
2012-01-19 15:02 499内存绘图 2010年10月07日 经常出现图形闪烁的 ... -
AS3+PNGEncoder PHP 上传图片
2012-01-19 15:02 944AS3+PNGEncoder PHP 上传图片 2010年1 ... -
毕业实习报告
2012-01-19 15:02 831毕业实习报告 2011年05 ... -
7月16号 键盘按键失灵? 蓝屏的终极处理?
2012-01-19 15:02 9997月16号 键盘按键失灵? 蓝屏的终极处理? 2011年07 ... -
Nutch源代码学习-解读Nutch-运行,爬行过程
2012-01-19 15:01 624Nutch源代码学习-解读Nutch-运行,爬行过程 201 ... -
电 脑 小 知 识 荟萃
2012-01-17 04:47 665电 脑 小 知 识 荟萃 201 ... -
lightscape dos 下渲染
2012-01-17 04:46 663lightscape dos 下渲染 2011年01月06日 ... -
苹果的配置
2012-01-17 04:46 640苹果的配置 2010年12月27日 苹果的配置 ... -
按键精灵 脚本-学习VBS的一个不错的教程
2012-01-16 03:39 904按键精灵 脚本-学习VBS的一个不错的教程 2009年12月 ... -
一个整人的vbs脚本(yzy原创)
2012-01-16 03:39 744一个整人的vbs脚本(yzy原创) 2009年08月30日 ... -
脚本-vbs-有用的脚本
2012-01-16 03:39 712脚本-vbs-有用的脚本 2010年01月15日 ,显示 ... -
四个经典的vbs脚本整理
2012-01-16 03:39 708四个经典的vbs脚本整理 2010年05月01日 四个经 ...
相关推荐
1、Reg2Bat_vbs 是vbs实现的,里面的do.bat就是将test.reg转化为test.bat的运行脚本。可以根据需要修改do.bat即可。中文支持良好。而且是生成reg add格式的代码2、注册表转批处理器_[Reg2Bat_V1.0]_单文件-
它可以将批处理文件(.bat)、Visual Basic和 Java脚本快速转换为可执行EXE 文件,同时可以保护.bat、.vbs 和 .js 的内容。 汉化说明: 1、此为汉化注册版,采用语言包形式,安装后即可使用。 2、如果以前使用过...
它可以将批处理文件(.bat)、Visual Basic和 Java脚本快速转换为可执行EXE 文件,同时可以保护.bat、.vbs 和 .js 的内容。 汉化说明: 1、此为汉化注册版,采用语言包形式,安装后即可使用。 2、如果以前使用过英文版...
ExeScript 是一款面向高级计算机用户的出色的工具,用户不 需要了解编程知识,就可以创建和编译自己的可执行程序,而 ...和 Java脚本快速转换为可执行EXE 文件,同时可以保护.bat、 .vbs 和 .js 的内容。
ExeScript 是一款面向高级计算机用户的出色的工具,用户不 需要了解编程知识,就...它可以将批处理文件(.bat)、Visual Basic 和 Java脚本快速转换为可执行EXE 文件,同时可以保护.bat、 .vbs 和 .js 的内容
ExeScript 是一款面向高级计算机用户的出色的工具,用户不需要了解编程知识,就可以创建和编译...它可以将批处理文件(.bat)、Visual Basic和 Java脚本快速转换为可执行EXE 文件,同时可以保护.bat、.vbs 和 .js 的内容!
<br>1 自定义语法高亮,支持HTML, XML, CSS, Javas cript, VBs cript, ASP, PHP, CSS, Perl/CGI,C/C++, C#, Java, VB, Pascal, 汇编, SQL, Python, NSIS,INI, REG, INF, BAT,DIFF等众多脚本文件。...
很好用的工具,传来与大家共享: SciTE 绿色软件,不写注册表。 SciTE 是个开源的优秀且小巧功能强大的编辑器!它支持代码高亮、自动完成、代码折叠、括号匹配、自定义模块等! 它几乎可以用到目前任何的主流...
1 自定义语法高亮,支持HTML, XML, CSS, Javas cript, VBs cript, ASP, PHP, CSS, Perl/CGI,C/C++, C#, Java, VB, Pascal, 汇a编, SQL, Python, NSIS,INI, REG, INF, BAT,DIFF等众多脚本文件。 2 支持ANSI,...
PHP, CSS, Perl/CGI,C/C++, C#, Java, VB, Pascal, 汇编, SQL, Python, NSIS,INI, REG, INF, BAT,DIFF等众多脚本文件。 2 支持ANSI,Unicode,UTF-8等编码互换 3 可以设置无限个书签(9种图标可换)轻松定位 4 ...