vbs mdb打包解包代碼打包
更新時(shí)間:2011年01月22日 16:15:36 作者:
網(wǎng)上有朋友問(wèn)我要這個(gè)代碼,一時(shí)真不知道放哪了,于是整理下,給出代碼也給打包下載飛,方便大家,希望大家多多的支持腳本之家。
pack.vbs 用來(lái)打包文件夾, 根目錄為文件所在目錄.
復(fù)制代碼 代碼如下:
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 "當(dāng)前目錄已經(jīng)打包完畢,根目錄為當(dāng)前目錄"
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 用來(lái)解包文件包(Packet.mdb), 解開(kāi)到當(dāng)前目錄.
復(fù)制代碼 代碼如下:
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://chabaoo.cn/downtools/A%20SPAdmin%20V1.02.rar
相關(guān)文章
VBS實(shí)現(xiàn)DOC轉(zhuǎn)為文本文檔的代碼
WORD軟雖然可以將doc轉(zhuǎn)為文本文檔,但每次打開(kāi)WORD都很慢。最好就是通過(guò)右鍵菜單來(lái)快速轉(zhuǎn)換。2008-06-06vbs 注冊(cè)表實(shí)現(xiàn)木馬自啟動(dòng)
自己搗鼓了半天,終于寫(xiě)出了個(gè)腳本,實(shí)現(xiàn)flux在注冊(cè)表中的啟動(dòng),當(dāng)然是更隱蔽的方法,別人知道了這個(gè)地方也就沒(méi)戲了。2009-05-05用vbs將輸出內(nèi)容寫(xiě)到屏幕以覆蓋當(dāng)前屏幕上的內(nèi)容的方法
用vbs將輸出內(nèi)容寫(xiě)到屏幕以覆蓋當(dāng)前屏幕上的內(nèi)容的方法...2007-03-03用vbs實(shí)現(xiàn)的強(qiáng)制殺進(jìn)程的腳本
用vbscript實(shí)現(xiàn)的強(qiáng)制殺系統(tǒng)進(jìn)程的腳本代碼,主要用于一些殺毒軟件,占系統(tǒng)內(nèi)存或cpu,我們可以用下面的方法殺掉,黑人也必須殺掉殺毒軟件,才能進(jìn)行下一步操作,不建議搞破壞。2008-05-05