从vbs中具有特定扩展名的文件夹中获取最后修改的文件

时间:2013-07-23 09:29:50

标签: vbscript

我有以下一段代码,我需要的是找到扩展名为PNG的文件和最近修改的最后日期,我能够找到最后修改日期,但是如果我将扩展名检查放在文件上则会出错[对象需要'recentFile'在[某些数字]]

SCRIPT

For Each objFile in colFiles
    ' Finds the latest modified file in folder
    if (recentFile is nothing) then
        Set recentFile = objFile
        elseif (objFile.DateLastModified > recentFile.DateLastModified) then
            Set recentFile = objFile
    end if
Next

我知道我可以稍后检查扩展程序,但问题是如果有一个最新的文件而不是PNG怎么办?虽然有文件的PNG扩展名但与其他文件相比不是最新的,所以我只需要找到最新修改日期的PNG到最新的PNG文件,请帮助我如何实现它?

1 个答案:

答案 0 :(得分:8)

首先过滤扩展程序:

  Dim oLstPng : Set oLstPng = Nothing
  Dim oFile
  Dim goFS    : Set goFS    = CreateObject("Scripting.FileSystemObject")
  For Each oFile In goFS.GetFolder("..\testdata\17806396").Files
      If "png" = LCase(goFS.GetExtensionName(oFile.Name)) Then
         If oLstPng Is Nothing Then 
            Set oLstPng = oFile ' the first could be the last
         Else
            If oLstPng.DateLastModified < oFile.DateLastModified Then
               Set oLstPng = oFile
            End If
         End If
      End If
  Next
  If oLstPng Is Nothing Then
     WScript.Echo "no .png found"
  Else
     WScript.Echo "found", oLstPng.Name, oLstPng.DateLastModified
  End If

(看看here