幾天,你們幫我,我用下面的代碼有錯誤:如何將日期附加到只有txt擴展名的文件?
Set FSO = CreateObject("Scripting.FileSystemObject")
Set fldr = FSO.GetFolder("C:\Ebooks\DRY\")
curYr=Year(Now)
For Each fil In fldr.Files
If LCase(Right(fil.Name, 4)) = ".zip" Then
zipFilePath = fil.Path
temp = file.Name
temp = Left(temp, LEN(temp) - 4) ' remove the .zip
temp = Split(temp, "_") ' split base name away from month-day-year
temp = (temp(ubound(temp))) ' get just month-day-year
temp = Split(temp, "-") ' get month day and year separately
mn = CINT(temp(0)) ' get the month number
dirName = MonthName(mn,True) & temp(2) ' True means get 3 letter abbrev for month
objZip.UnPack zipFilePath, "D:\ACS\Current\"
FSO.MoveFile zipFilePath, "D:\ACS\" & curYr & "\" & dirName & "\" & fil.Name
End If
Next
該腳本工作正常。所有解壓縮的文件都被移動到一個名爲Current的文件夾中,並且原始zip文件被移動到文件夾ACSCurrentYear。
解壓後的文件有2個不同的擴展名,pdf和txt。
星期一到星期五,代碼工作正常,我們每天都會將txt文件的內容提取到數據庫中。
但是,在週末,由於txt文件具有相同的名稱,所以它們被覆蓋,從而導致我們丟失數據。 PDF文件不會被覆蓋,因爲名稱始終是唯一的。
我想要做的是將當前日期和時間附加到只有txt擴展名的文件。
我想我有這樣做的代碼,但不知道如何將它集成到我上面發佈的腳本。
這是我想要整合的一點。
strDay = Day(now)
strMonth = Month(now)
strYear = Year(now)
strHour = Hour(now)
strMinute = Minute(now)
strSecond = Second(now)
datFinal = strYear & "/" & strMonth & "/" & strDay & " " & strHour & ":" & strMinute & ":" & strSecond
'now,append date to any file with txt extension。
if lcase(FSO.GetExtensionName(fil.Name)) = "txt" then
fil.Name = "datFinal.txt"
我該如何處理?
更好的是,我可以添加一行代碼到我發佈的代碼不允許txt文件被覆蓋?
非常感謝您的協助。
第一個選項效果很好。 非常感謝Peter! –
你好,我建議strMonth和strDay的結果來獲得一個很好的可排序的子文件夾列表,所以20120518而不是2012518 – peter