国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

vbs mdb打包解包代碼打包

2020-06-26 18:26:10
字體:
來源:轉載
供稿:網友
網上有朋友問我要這個代碼,一時真不知道放哪了,于是整理下,給出代碼也給打包下載飛,方便大家,希望大家多多的支持腳本之家。
 

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 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安化县| 宁武县| 百色市| 方城县| 专栏| 扎鲁特旗| 华亭县| 当阳市| 宜君县| 栾城县| 县级市| 嘉祥县| 永修县| 丰县| 溧阳市| 岑溪市| 平湖市| 大城县| 东方市| 天津市| 龙海市| 措勤县| 朝阳区| 华安县| 长海县| 张家港市| 凤凰县| 洪雅县| 林周县| 比如县| 嘉荫县| 平泉县| 大姚县| 石渠县| 枞阳县| 墨脱县| 浦北县| 驻马店市| 布拖县| 商水县| 盐津县|