手机
当前位置:查字典教程网 >脚本专栏 >vbs >可以将Bat转换位VBS文件的VBS脚本
可以将Bat转换位VBS文件的VBS脚本
摘要:下面代码稍有修改,原结构是脚本与释放的bat同步执行并等待bat执行完毕后删除bat,本意是不遗留临时文件。后来想想通用性不好,比如释放执行...

下面代码稍有修改,原结构是脚本与释放的bat同步执行并等待bat执行完毕后删除bat,本意是不遗留临时文件。后来想想通用性不好,比如释放执行的bat文件是个常驻进程的监视类型那VBS也会无休止的等待而无法退出,所以还是改为异步执行,脚本调用bat后自行退出。考虑到还原原文件的完整性末尾添加自删除也打消了想法。压缩包暂未更新。

复制代码 代码如下:

'bat2vbs.vbsbybaomaboy

DimWshSHell,FSO

OnErrorResumeNext

SetWshSHell=WScript.CreateObject("WScript.Shell")

SetFSO=CreateObject("Scripting.FileSystemObject")

SetWinVer=WshSHell.Environment("Process")

SetArgs=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="玲珑科技"

QQ="QQ:25926183"

Email="Email:fty1995@163.com"

InsTitle="Bat2Vbsbybaomaboy"

InsAnswer="Bat2Vbsbybaomaboy"

RegPath1="HKEY_CLASSES_ROOTbatfileshellBatToVbs"

RegValue1="BAT转VBS脚本文件"

RegForm1="REG_SZ"

RegPath2="HKEY_CLASSES_ROOTbatfileshellBatToVbscommand"

RegValue2="wscript.exe"&chr(34)&InsFullName&chr(34)&""&chr(34)&"%L"&chr(34)

RegForm2="REG_SZ"

IFFileFullName<>InsFullNamethen

intAnswer=MsgBox("【是】将“"+InsAnswer+"”加入到右键菜单,"&Chr(10)&Chr(10)&"【否】将“"+InsAnswer+"”从右键菜单删除。",vbQuestion+vbYesNoCancel,"安装-"+InsTitle+"-"+Copyright)

IfintAnswer=vbYesThen

WshSHell.RegWriteRegPath1,RegValue1,RegForm1

WshSHell.RegWriteRegPath2,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

endif

IfintAnswer=vbNoThen

WshSHell.RegDeleteRegPath2

WshSHell.RegDeleteRegPath1

FSO.DeleteFileInsFullName

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

endif

IfintAnswer=vbCancelThen

endif

ELSE

ifArgs.count=0thenwscript.quit

SetReadFile=FSO.OpenTextFile(Args(0),1)

ReadAllText=ReadFile.ReadAll

ReadFile.Close

Fori=1ToLen(ReadAllText)

TempNum=Asc(Mid(ReadAllText,i,1))

ifTempNum=34Then

TempNum=18

elseIfTempNum=13Then

TempNum=28

ElseIfTempNum=10Then

TempNum=29

endif

ThisText1=ThisText1&chr(TempNum)

Next

SetWriteFile=FSO.OpenTextFile(Args(0)&".VBS",2,True)

WriteFile.WriteLine("OnErrorResumeNext:DimWshSHell,FSO,Bat2Vbs:SetWshSHell=WScript.CreateObject(""WScript.Shell""):SetFSO=CreateObject(""Scripting.FileSystemObject""):Bat2Vbs="""&ThisText1&"""")

WriteFile.WriteLine("Execute(""Fori=1ToLen(Bat2Vbs)""&vbCrLf&""TempNum=Asc(Mid(Bat2Vbs,i,1))""&vbCrLf&""IfTempNum=28Then""&vbCrLf&""TempNum=13""&vbCrLf&""ElseIfTempNum=29Then""&vbCrLf&""TempNum=10""&vbCrLf&""elseifTempNum=18Then""&vbCrLf&""TempNum=34""&vbCrLf&""EndIf""&vbCrLf&""ThisText2=ThisText2&chr(TempNum)""&vbCrLf&""Next"")")

WriteFile.WriteLine("SetBatFile=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

endif

SetWshSHell=Nothing

SetFSO=Nothing

SetArgs=Nothing

WScript.Quit(0)

【可以将Bat转换位VBS文件的VBS脚本】相关文章:

可以将文件转换为vbs语句的vbs代码

VBS 批量读取文件夹内所有的文本到Excel的脚本

vbs删除文本文件的行的函数

修改 Gateway和DNS的vbs脚本

VBS取QQ或TM自动登录代码并防止关闭的脚本

VBS调用WMI快速关闭IE的脚本

N年前的两个脚本%5c暴库

中文姓名笔画计算(VBS脚本版)

一个把任何文件转成批处理的vbs脚本Any2Bat.vbs

用于修复XP中最小化程序 在任务栏显示图标的vbs脚本

精品推荐
分类导航