【发布时间】:2017-02-14 11:44:40
【问题描述】:
尝试使用 VBScript 来执行此操作。我有一个文件夹,其中包含多个文件,其中包含扩展名为 .vib 的服务器名称。所有文件显示为
servername.vm-<randomnumber><date>T<time>.vib
例如:
SERVERNAME.vm-255622016-08-31T040037.vib
我需要做的是获取所有包含 servername*.vib 的文件,然后找到该列表中最后修改的文件,然后从该文件中提取日期。日期采用 xxxx-xx-xx 格式,文件名中始终以 T 开头,并且似乎位于相同的相对位置。
到目前为止,我已经能够通过使用this other question 非常接近。
但是我在两件事上遇到了麻烦,查找仅包含服务器名称的文件并从文件本身获取日期。
到目前为止,这是我的代码:
Set fso = CreateObject("Scripting.FileSystemObject")
Set list = CreateObject("ADOR.Recordset")
list.Fields.Append "name", 200, 255
list.Fields.Append "date", 7
list.Open
For Each f In fso.GetFolder("J:\Files").Files
If (fso.GetExtensionName(f) = "vib") And (fso.Contains(ServerName)) Then
list.AddNew
list("name").Value = f.Path
list("date").Value = f.DateLastModified
list.Update
End If
Next
list.Sort = "date DESC"
list.MoveFirst
WScript.Echo list("name").Value
list.Close
如果我从If 语句中删除fso.Contains(ServerName),则代码运行并获得最新的vib 文件。我只是不知道如何测试文件中包含的服务器名称,所以我只获取其中包含服务器名称的文件。
我还纠结于如何从文件本身中提取日期,不知道从哪里开始。
【问题讨论】:
标签: loops vbscript string-parsing last-modified filesystemobject