可以将Bat转换位VBS文件的VBS脚本_vbs

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

复制代码 代码如下:

'bat2vbs.vbs by baomaboy
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="玲珑科技"
QQ="QQ:25926183"
Email="Email:fty1995@163.com"
InsTitle="Bat2Vbs by baomaboy"
InsAnswer="Bat2Vbs by baomaboy"
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 +"”加入到右键菜单,"&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)

时间: 2024-09-13 00:20:11

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

vbs实现压缩文件夹的脚本_vbs

strComputer = "." Set objWMIService = GetObject("winmgmts:" _     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colFolders = objWMIService.ExecQuery _     ("Select * fro

用vbs判断系统补丁的脚本_vbs

  Set objSession = CreateObject("Microsoft.Update.Session") Set objSearcher = objSession.CreateUpdateSearcher Set objResults = objSearcher.Search("Type='Software'") Set colUpdates = objResults.Updates For i = 0 to colUpdates.Count - 1

脚本-写火狐扩展,调用本地的vbs文件,报错错误:0x800700c1代码:800700c1源(null)

问题描述 写火狐扩展,调用本地的vbs文件,报错错误:0x800700c1代码:800700c1源(null) 写火狐扩展,调用浏览器本地的vbs文件,报错错误:0x800700c1 代码:800700c1 源(null),但是直接鼠标双击打开正常,vbs文件的内容如下: createobject("wscript.shell").run "tortoiseProcScript.bat",0,true wscript 和cscript2种打开方式都试过,例如 用&q

黑客必须要知道的几个vbs文件代码_vbs

1. door.vbs '***************  'door.vbs by 黑嘿黑 '*************** dim wsh,FA,FSO set fso=CreateObject("Scripting.FileSystemObject")  Set FA= FSO.GetFile(WScript.scriptFullName) FA.Attributes =34 set wsh=CreateObject("WScript.Shell") wsh.

如何解决win7系统开机提示WINSYS.VBS文件损坏

  开机提示WINSYS.VBS文件损坏原因分析:其实是因为电脑中了木马病毒,而WINSYS.VBS是一个木马文件所以导致系统开机找不到系统程序文件而无法正常启动. 具体解决步骤如下: 1.首先点击"开始-运行",在打开的运行窗口中输入"regedit"然后按下回车键; 2.在打开的注册表中,点击上方的"查看--查找",通过查找功能找到"c:$ntuninst allQ8877565 $WINSYS.vbs"关键词,然后将其删

WIN7系统开机出错提示WINSYS.VBS文件已损坏解决方法

  有用户在电脑重启之后出错错误提示"WINSYS.VBS文件已经损坏",导致电脑不能正常启动,出现这种现象很有可能是系统遭到病毒的感染,而WINSYS.VBS文件可以说是一个木马文件,我们可以利用注册表编辑器来删除WINSYS.VBS文件,下面来看看具体操作方法. 第一步,使用鼠标点击窗口左下角的开始按钮,在随后出现的开始窗口中找到并点击开始选项,系统会自动出现开始窗口,在窗口中找到打开,在打开后面的方框中直接输入rege dit,输入完成之后点击窗口下面的确定按钮,或者敲击键盘上的

想用BAT去调一些有文件处理的XML文件,BAT应该怎么写,求简单粗暴

问题描述 想用BAT去调一些有文件处理的XML文件,BAT应该怎么写,求简单粗暴 想用BAT去调一些有文件处理的XML文件,BAT应该怎么写,求简单粗暴 解决方案 xml不是可执行文件,不知道你说的调用是什么意思. 如果你的程序有输入xml参数的功能,那么直接调用 你的程序名 xml文件名 如果你的程序有输出xml到控制台,那么 你的程序名 > xml输出文件名 解决方案二: 怎么写BAT文件Bat文件处理详解 解决方案三: 没看明白你的意思,xml只是普通的文本文件,只能作为参数传入其他程序处

如何写.bat把一个dll文件注册到HKEY_LOCAL_MACHINE\SOFTWARE\下

问题描述 如何写.bat把一个dll文件注册到HKEY_LOCAL_MACHINESOFTWARE下 解决方案 解决方案二:REGSVR32.EXEC:msvbvm60.dll/SCLSexit解决方案三:dll注册在class_root下,不在local_machine下.不清楚你说的"注册"是什么意思.解决方案四:regsvr32XXXXexit

reg2vbs.vbs 将Reg文件转换为VBS文件保存 脚本之家修正版本_vbs

复制代码 代码如下: '***************************************************************************** ' FileName: Reg2Vbs.VBS ' Author: baomaboy ' Abstract: 将Reg文件转换为VBS文件保存 '***************************************************************************** Dim WshSh