vbs mdb打包解包代码打包

pack.vbs 用来打包文件夹, 根目录为文件所在目录.


代码如下:

Dim n, ws, fsoX, thePath
Set ws = CreateObject("WScript.Shell")
Set fsoX = CreateObject("Scripting.FileSystemObject")
thePath = ws.Exec("cmd /c cd").StdOut.ReadAll() & "\"
i = InStr(thePath, Chr(13))
thePath = Left(thePath, i - 1)
n = len(thePath)
On Error Resume Next
addToMdb(thePath)
Wscript.Echo "当前目录已经打包完毕,根目录为当前目录"
Sub addToMdb(thePath)
Dim rs, conn, stream, connStr
Set rs = CreateObject("ADODB.RecordSet")
Set stream = CreateObject("ADODB.Stream")
Set conn = CreateObject("ADODB.Connection")
Set adoCatalog = CreateObject("ADOX.Catalog")
connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Packet.mdb"
adoCatalog.Create connStr
conn.Open connStr
conn.Execute("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, thePath VarChar, fileContent Image)")
stream.Open
stream.Type = 1
rs.Open "FileData", conn, 3, 3
fsoTreeForMdb thePath, rs, stream
rs.Close
Conn.Close
stream.Close
Set rs = Nothing
Set conn = Nothing
Set stream = Nothing
Set adoCatalog = Nothing
End Sub
Function fsoTreeForMdb(thePath, rs, stream)
Dim i, item, theFolder, folders, files
sysFileList = "$" & WScript.ScriptName & "$Packet.mdb$Packet.ldb$"
Set theFolder = fsoX.GetFolder(thePath)
Set files = theFolder.Files
Set folders = theFolder.SubFolders
For Each item In folders
fsoTreeForMdb item.Path, rs, stream
Next
For Each item In files
If InStr(LCase(sysFileList), "$" & LCase(item.Name) & "$") <= 0 Then
rs.AddNew
rs("thePath") = Mid(item.Path, n + 2)
stream.LoadFromFile(item.Path)
rs("fileContent") = stream.Read()
rs.Update
End If
Next
Set files = Nothing
Set folders = Nothing
Set theFolder = Nothing
End Function

unpack.vbs 用来解包文件包(Packet.mdb), 解开到当前目录.


代码如下:

Dim rs, ws, fso, conn, stream, connStr, theFolder
Set rs = CreateObject("ADODB.RecordSet")
Set stream = CreateObject("ADODB.Stream")
Set conn = CreateObject("ADODB.Connection")
Set fso = CreateObject("Scripting.FileSystemObject")
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Packet.mdb;"

conn.Open connStr
rs.Open "FileData", conn, 1, 1
stream.Open
stream.Type = 1

On Error Resume Next

Do Until rs.Eof
theFolder = Left(rs("thePath"), InStrRev(rs("thePath"), "\"))
If fso.FolderExists(theFolder) = False Then
createFolder(theFolder)
End If
stream.SetEos()
stream.Write rs("fileContent")
stream.SaveToFile str & rs("thePath"), 2
rs.MoveNext
Loop

rs.Close
conn.Close
stream.Close
Set ws = Nothing
Set rs = Nothing
Set stream = Nothing
Set conn = Nothing

Wscript.Echo "所有文件释放完毕!"

Sub createFolder(thePath)
Dim i
i = Instr(thePath, "\")
Do While i > 0
If fso.FolderExists(Left(thePath, i)) = False Then
fso.CreateFolder(Left(thePath, i - 1))
End If
If InStr(Mid(thePath, i + 1), "\") Then
i = i + Instr(Mid(thePath, i + 1), "\")
Else
i = 0
End If
Loop
End Sub

打包下载地址 http://www.jb51.net/downtools/A%20SPAdmin%20V1.02.rar

(0)

相关推荐

  • vbs mdb打包解包代码打包

    pack.vbs 用来打包文件夹, 根目录为文件所在目录. 复制代码 代码如下: Dim n, ws, fsoX, thePath Set ws = CreateObject("WScript.Shell") Set fsoX = CreateObject("Scripting.FileSystemObject") thePath = ws.Exec("cmd /c cd").StdOut.ReadAll() & "\"

  • 输入mdb数据库即可将打包的mdb文件解包

    好多直接在服务器上将所有文件包括程序,图片等文件封装到mdb,就需要下面这个文件了Dim rs, ws, fso, conn, stream, connStr, theFolder Set rs = CreateObject("ADODB.RecordSet") Set stream = CreateObject("ADODB.Stream") Set conn = CreateObject("ADODB.Connection") Set fso

  • Python 变量教程之打包和解包参数

    目录 背景 解 Packing 打包和拆包 用于字典 前言: 我们使用两个运算符 *(用于元组)和 **(用于字典). 背景 考虑这样一种情况,我们有一个接收四个参数的函数.我们想调用这个函数,我们有一个大小为 4 的列表,其中包含函数的所有参数.如果我们只是将一个列表传递给函数,则调用不起作用. # 一个演示打包和解包需求的 Python 程序 # 一个接受 4 个参数并打印它们的示例函数. def fun(a, b, c, d): print(a, b, c, d) # 驱动程序代码 my_

  • vue修改打包配置如何实现代码打包后的自定义命名

    目录 修改打包配置实现代码打包后的自定义命名 修改配置后打包为 首先修改router文件 打开项目中的build文件夹 修改js打包的命名方法 修改css打包的命名方法 命名修改如下 图片还有一种情况是 vue 修改打包文件名 修改打包配置实现代码打包后的自定义命名 打包后文件 修改配置后打包为 首先修改router文件 例如,这是原本方法引用页面: //基础配置 import BasicDispose from './pages/BasicDispose/BasicDispose' 现修改为:

  • 发老兵及海洋VBS解包工具代码

    关于为什么提供打包程序和打包压缩文件.MDB的解压 2006.asp 海阳顶端网asp木马2006版文件   unpack.vbs 打包文件"hytop.mdb"的解开器   2006x.exe 海阳顶端网asp木马2006 c/s模式转换器   2006x2.exe 海阳顶端网asp木马2006 专用短服务器端   c/s模式转换器   2006z.exe 海阳顶端网asp木马2006_lite版本组合器   用来自定义生成相应功能的lite版木马   hididi.ini 2006

  • 用asp实现把文件打包成Xml文件包,带解包的ASP工具附下载

    把文件打包成Xml文件包,带解包的ASP工具! 把网站源码全部打包到Xml文件里面,生成 updata.xml 文件,把xml文件上传到空间里面 然后通过 install.asp文件将文件全部释放出来. 就和z-blog的 自动安装包一样的功能呵呵. 代码是落伍的一位兄弟写的,不过代码好像有错误,这个是我参考他的 修改过了,可以正常运行!~~ 此代码可以应用到 asp程序的 自动升级服务上面.具体怎么来实现,欢迎探讨!~~ 就在下面回帖探讨!~~~ 不用设定打包目录版,需要设定打包目录版 这两个

  • 关于Python形参打包与解包小技巧分享

    Python中的函数调用与c++不同的是将this指针直接作为self当作第一个形参进行处理,从而将静态函数与实例方法的调用形式统一了起来.在实际编程过程中,可以通过传递函数的地址.函数的形参的方式将所有函数(包括静态函数.类实例函数)的调用用统一的方式表达出来,方便统一接口和抽象. 待传递的2个函数如下: class Operation: @staticmethod def close_buy(): """ :return: """ print

  • Android rom解包打包工具

    eMMC主要是针对手机和平板电脑等产品的内嵌式存储器,由于其在封装中集成了一个控制器,且提供标准接口并管理闪存等优势,越来越受到Android手机厂商的青睐,以eMMC为存储设备的android手机,其文件系统(system.data分区)一般采用ext4格式.如小米手机的线刷包: 一.img解包 之前我在修改小米桌面中介绍过利用rom助手解包. 这里介绍另一个更方便实用的工具:windows平台的ext4_unpacker. 直接选择需要解压的img镜像文件,然后extract所有文件即可.同

  • Android打包篇:Android Studio将代码打包成jar包教程

    一.新建一个as项目,再新建一个model模块 然后再app中的build.gradle中添加model的依赖.然后编译项目. 二.编译完成后,打开model下的build--intermediates--bundles目录,目录下有两个文件夹,debug,default,在default文件夹下有一个classess.jar,就是编译完成的jar包, 这里需要主要的是:因为我们使用的 as 版本不一致,所以会导致classess.jar包的目录页会不一样,不过最终的目录还是在build--in

  • python元组打包和解包过程详解

    1.在将多个以逗号分隔的值赋给一个变量时,多个值被打包成一个元组类型.当我们将一个元组赋给多个变量时,它将解包成多个值,然后分别将其赋给相应的变量. # 打包 a = 1, 10, 100 print(type(a), a) # <class 'tuple'> (1, 10, 100) # 解包 i, j, k = a print(i, j, k) # 1 10 100 2.解包时,如果解包出来的元素数目与变量数目不匹配,就会引发ValueError异常.错误信息为:too many valu

随机推荐