2015-11-20 140 views
0

我發現(工作顯然給大家)腳本只需要修改(路徑):VBS腳本荏苒

Sub NewZip(pathToZipFile) 
    'WScript.Echo "Newing up a zip file (" & pathToZipFile & ") " 

    Dim fso 
    Set fso = CreateObject("Scripting.FileSystemObject") 
    Dim file 
    Set file = fso.CreateTextFile(pathToZipFile) 

    file.Write Chr(80) & Chr(75) & Chr(5) & Chr(6) & String(18, 0) 

    file.Close 
    Set fso = Nothing 
    Set file = Nothing 

    WScript.Sleep 500 
End Sub 

Sub CreateZip(pathToZipFile, dirToZip) 
    'WScript.Echo "Creating zip (" & pathToZipFile & ") from (" & dirToZip & ")" 

    Dim fso 
    Set fso= Wscript.CreateObject("Scripting.FileSystemObject") 

    pathToZipFile = fso.GetAbsolutePathName(pathToZipFile) 
    dirToZip = fso.GetAbsolutePathName(dirToZip) 

    If fso.FileExists(pathToZipFile) Then 
    'WScript.Echo "That zip file already exists - deleting it." 
    fso.DeleteFile pathToZipFile 
    End If 

    If Not fso.FolderExists(dirToZip) Then 
    'WScript.Echo "The directory to zip does not exist." 
    Exit Sub 
    End If 

    NewZip pathToZipFile 

    dim sa 
    set sa = CreateObject("Shell.Application") 

    Dim zip 
    Set zip = sa.NameSpace(pathToZipFile) 

    'WScript.Echo "opening dir (" & dirToZip & ")" 

    Dim d 
    Set d = sa.NameSpace(dirToZip) 

    ' Look at http://msdn.microsoft.com/en-us/library/bb787866(VS.85).aspx 
    ' for more information about the CopyHere function. 
    zip.CopyHere d.items, 4 

    Do Until d.Items.Count <= zip.Items.Count 
    Wscript.Sleep(200) 
    Loop 
End Sub 

任何人都可以給這個例子腳本應該怎麼看起來像真正的 路徑?我正在嘗試,但它不適合我。

+0

定義「不工作」。你如何調用程序(完全),你得到了什麼結果? –

回答

0

該腳本僅由兩個子例程組成,因此不會執行任何操作。

以下行添加到該文件的底部,它應該工作(因爲在潛艇的代碼是健全的,我還沒有測試):

CreateZip "c:\output\test.zip" "c:\input\" 

這將做到以下幾點,以:

  1. 檢查輸出文件是否存在。如果有,它會刪除它。
  2. 檢查輸入文件夾是否存在,如果不存在,腳本將退出。
  3. 打電話NewZip子只是創建一個「空」的.zip文件。
  4. 將文件複製到zip文件。
  5. 暫停一段時間,可能確保您在複製完成之前不會嘗試訪問ZIP。

input文件夾的內容現在將在output文件夾中的zip文件。