Я искал способ переместить 5 самых старых измененных файлов в папку в другую папку. я наткнулся на некоторые полезные фрагменты кода, и я изменил его к этому:Перемещение самых старых файлов
Dim files
Dim startFolder
Dim destinationFolder
Dim oldestFile
Dim file
Dim FSO
startFolder = "C:\logs\current"
destinationFolder = "C:\logs\backup"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set files = FSO.GetFolder(StartFolder).files
Set oldFiles = CreateObject("System.Collections.ArrayList")
If files.Count <= 5 Then
WScript.Quit
End If
For i = 0 To 4
Set files = FSO.GetFolder(StartFolder).files
Set oldFiles = Nothing
For Each file In files
If Not IsObject(oldestFile) Then
Set oldestFile = file
Else
If file.DateLastModified < oldestFile.DateLastModified Then
Set oldestFile = file
End If
End If
Next
WScript.Echo "OLDEST: " & oldestFile.Name
oldestFile.Move destinationFolder & "\" & oldestFile.Name
Next
В основном то, что он должен сделать, это:
- петля 5 раз,
- каждый раз цикл по файлам и назначьте старшее значение
oldestFile
, - переместите файл в другое место.
Однако, это не работает, это повторяет имя первого файла 5 раз и перемещает только этот. Я думал, что должен установить объекты на Nothing
, чтобы начать новый, но безрезультатно.
Есть так много таких типов вопросов уже на [так] – Lankymart