このVBScriptを変更して、最新のファイルの名前と最終更新日のみを返すにはどうすればよいですか?現在、過去24時間に変更されたものはすべて返されます。最新のファイルのみを検索したい。私はこれをStackOverflowから借りましたが、まだVBScriptウィザードではありません。
option explicit
dim fileSystem, folder, file
dim path
path = "C:\test"
Set fileSystem = CreateObject("Scripting.FileSystemObject")
Set folder = fileSystem.GetFolder(path)
for each file in folder.Files
if file.DateLastModified > dateadd("h", -24, Now) then
'whatever you want to do to process'
WScript.Echo file.Name & " last modified at " & file.DateLastModified
end if
next
以下はGetRecentFile
(およびGetRecentFolder
)を実装し、サンプルの使用法を含みます。
Option Explicit
Function GetRecentFile(path)
Dim fso, file
Set fso = CreateObject("Scripting.FileSystemObject")
Set GetRecentFile = Nothing
For Each file in fso.GetFolder(path).Files
If GetRecentFile is Nothing Then
Set GetRecentFile = file
ElseIf file.DateLastModified > GetRecentFile.DateLastModified Then
Set GetRecentFile = file
End If
Next
End Function
Function GetRecentFolder(path)
Dim fso, folder
Set fso = CreateObject("Scripting.FileSystemObject")
Set GetRecentFolder = Nothing
For Each folder in fso.GetFolder(path).SubFolders
If GetRecentFolder is Nothing Then
Set GetRecentFolder = folder
ElseIf folder.DateLastModified > GetRecentFolder.DateLastModified Then
Set GetRecentFolder = folder
End If
Next
End Function
Dim recentFile
Set recentFile = GetRecentFolder("C:\Temp")
If recentFile is Nothing Then
WScript.Echo "No recent files found"
Else
WScript.Echo "Recent file is " & recentFile.Name & " " & recentFile.DateLastModified
End If