1
我有以下代碼(在網絡空間中操縱一些有用靈魂的代碼)。 這意味着要壓縮目錄中的所有.csv文件,並用當前時間戳命名zip文件。VBS腳本問題 - 操縱日期
我的問題 - 我已經設置了一個計劃任務,每天執行下面的代碼。正如你所看到的,我每次執行代碼時都會返回一天。意思是,今天用昨天的「日子」壓縮文件。當它在每個月的第一天運行時,我顯然遇到了問題。它會抓住昨天的日子(這很好),但當前的月份。我如何操作代碼,以便檢查昨天是否是本月的最後一天,併爲文件名輸入正確的時間戳?
任何幫助,非常感謝。
strFilepath = "c:\files"
strDestination = "c:\files\completed\" '"#
strExtension = "csv"
strYear = Year(Now)
strMonth = Right("0" & Month(Now), 2)
strDay = Right("0" & Day(Now -1), 2)
strHour = Right ("0" & Hour(Now), 2)
strMinute = Right ("0" & Minute (Now), 2)
strZip = strFilepath & "\" & strYear & strMonth & strDay & strHour & strMinute & ".zip" '"#
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strFilepath)
For Each objFile in objFolder.Files
strFileExt = objFSO.GetExtensionName(objFile.Path)
If LCase(strFileExt) = LCase(strExtension) Then
ZipFile objFile.Path, strZip
End If
Next
Sub ZipFile(strFileToZip, strArchive)
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not objFSO.FileExists(strArchive) Then
Set objTxt = objFSO.CreateTextFile(strArchive)
objTxt.Write "PK" & Chr(5) & Chr(6) & String(18, Chr(0))
objTxt.Close
End If
Set objApp = CreateObject("Shell.Application")
intCount = objApp.NameSpace(strArchive).Items.Count + 1
objApp.NameSpace(strArchive).CopyHere strFileToZip
Do
WScript.Sleep 200
set objNameSpace = objApp.NameSpace(strArchive)
If Not objNameSpace is nothing Then
If objNameSpace.Items.Count = intCount Then
Exit Do
End If
End If
Loop
End Sub
stackoverflow的問題? – ukanth 2010-07-05 09:33:51
@TiNS:嘗試與類似的東西stackoverflow,並指示超級用戶:) – molecule 2010-07-05 09:54:58
好吧,讓他們在這裏解釋爲什麼它會更適合蘇更好。 – 2010-07-05 20:58:34