【发布时间】:2014-10-14 13:34:08
【问题描述】:
基本上我正在尝试编写一个脚本来删除某个文件名之后的文件,所以基于下面的文件列表
FILE_000001_FULL.ZIP
FILE_000002_FULL.ZIP
FILE_000003_FULL.ZIP
FILE_000004_FULL.ZIP
FILE_000005_FULL.ZIP
FILE_000006_DELTA.ZIP
FILE_000007_DELTA.ZIP
FILE_000008_FULL.ZIP
FILE_000005_FULL.ZIP 之前的所有内容都将被删除。这些文件是使用工具创建的,并将按文件名排序,因此最高的数字在前。基本上需要保存 2 个最新的 FULL 文件和它们之间的 DELTA(如果有的话)。我希望这是有道理的。
到目前为止,这就是我所拥有的,但只是不断循环,而不仅仅是找到 2 个最新的完整内容。
Dim fso, folder, files, ToDel, sfolder
Set fso = CreateObject("Scripting.FileSystemObject")
sFolder = ("C:\MDS")
Set ToDel = fso.CreateTextFile ("C:\MDS\FileList.txt", True)
Set folder = fso.GetFolder(sFolder)
set files = folder.files
For each folderIDX In files
ToDel.WriteLine(folderidx.Name)
Next
ToDel.close
Dim arrFileLines()
i = 0
Set ObjFile = FSO.OpenTextFile("C:\MDS\FileList.txt", 1)
Do Until objFile.AtEndOfStream
Redim Preserve arrFileLines(i)
arrFileLines(i) = objFile.ReadLine
i = i + 1
Loop
ObjFile.Close
s = 0
Do While s < 2
For l = Ubound(arrFileLines) to LBound(arrFileLines) Step -1
For Each strLine in arrFileLines
IF InStr(strLine, "FULL") <> 0 Then
wscript.echo "Found Full!!!!"
wscript.echo strLine, s
s = S + 1
End If
Next
Next
LooP
我的想法是从文本文件中删除行,然后使用此文本文件从目录中删除文件。
希望一切都说得通,有人可以提出一些建议!
【问题讨论】:
标签: vbscript