只能使用腳本自動壓縮指定目標下的所有文件-創(chuàng)新互聯(lián)

這篇文章主要介紹了只能使用腳本自動壓縮指定目標下的所有文件,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來,先為南岳等服務(wù)建站,南岳等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為南岳企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

為了解決這類問題,我使用Visual Basic Scripting設(shè)計了一個腳本,可以自動達到這個目標。在本腳本中,自動壓縮所有文件。為了避免將腳本自己也壓縮進去,使用了一些判斷。


代碼如下:


call main()
Sub main()
Dim fs '文件系統(tǒng)。
Dim f 'folder
Dim fc 'files
Dim s 'string
Dim ws 'SHELL。
Dim subfs
Dim fi
'創(chuàng)建SHELL。
Set ws = CreateObject("WScript.Shell")
'創(chuàng)建文件對象。
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(ws.currentdirectory)
Handle_files(ws.currentdirectory)
Set subfs = f.SubFolders
'遍歷每個子目錄。
For Each fi In subfs
Call ListSub(fi.Path)
Next
End Sub
Sub ListSub(filename)
On Error Resume Next
Dim subfs '子目錄。
'首先處理當前目錄。
Handle_Files(filename)
'創(chuàng)建文件對象。
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(filename)
Set subfs = f.SubFolders
For Each fi In subfs
Call ListSub(fi.Path)
Next
End Sub
'處理每個目錄下的文件。
Sub Handle_Files(foldername)
'創(chuàng)建文件對象。
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(foldername)
Set fc = f.Files
'創(chuàng)建SHELL。
Set ws = CreateObject("WScript.Shell")
'遍歷文件對象。
For Each fl In fc
if ((instr(fl.Name,"vbs") = 0) and (instr(fl.Name,"rar") = 0)) then
'進行壓縮。
s = "winrar M -ep " & fl.Path & ".rar " & fl.Path
ws.Run s, 0, True
End If
Next
End Sub
sub output(string)
wscript.echo string
end sub



一種更加巧妙的方法
對上個腳本稍加改動,使用正則表達式(Regular Expression ),可以方便我們的判斷過程。修改后的腳本程序如下所示。注意我們這里排除的是不壓縮的文件類型。


復制代碼 代碼如下:


call main()
Sub main()
Dim fs '文件系統(tǒng)。
Dim f 'folder
Dim fc 'files
Dim s 'string
Dim ws 'SHELL。
Dim subfs
Dim fi
'創(chuàng)建SHELL。
Set ws = CreateObject("WScript.Shell")
'創(chuàng)建文件對象。
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(ws.currentdirectory)
Handle_files(ws.currentdirectory)
Set subfs = f.SubFolders
'遍歷每個子目錄。
For Each fi In subfs
Call ListSub(fi.Path)
Next
End Sub
Sub ListSub(filename)
On Error Resume Next
Dim subfs '子目錄。
'首先處理當前目錄。
Handle_Files(filename)
'創(chuàng)建文件對象。
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(filename)
Set subfs = f.SubFolders
For Each fi In subfs
Call ListSub(fi.Path)
Next
End Sub
'處理每個目錄下的文件。
Sub Handle_Files(foldername)
'創(chuàng)建文件對象。
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(foldername)
Set fc = f.Files
'創(chuàng)建SHELL。
Set ws = CreateObject("WScript.Shell")
'遍歷文件對象。
For Each fl In fc
if ( RegExpTest(".vbs|.rar|.zip",fl.name) = false) then
'進行壓縮。
s = "winrar M -ep " & fl.Path & ".rar " & fl.Path
output s
ws.Run s, 0, True
End If
Next
End Sub
sub output(string)
wscript.echo string
end sub
'使用正則表達式進行判斷。
Function RegExpTest(patrn, strng)
Dim regEx, retVal ' Create variable.
Set regEx = New RegExp ' Create regular expression.
regEx.Pattern = patrn ' Set pattern.
regEx.IgnoreCase = False ' Set case sensitivity.
retVal = regEx.Test(strng) ' Execute the search test.
If retVal Then
RegExpTest = true
Else
RegExpTest = false
End If
End Function


感謝你能夠認真閱讀完這篇文章,希望小編分享的“只能使用腳本自動壓縮指定目標下的所有文件”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!

網(wǎng)站題目:只能使用腳本自動壓縮指定目標下的所有文件-創(chuàng)新互聯(lián)
新聞來源:http://muchs.cn/article48/cdiphp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、商城網(wǎng)站、網(wǎng)站制作、App設(shè)計小程序開發(fā)、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)