В проекте у нас есть таблица со следующими полями: FolderPath, FileType, DaysToKeep, ServerIP
.
Когда утилита запускается, я считываю rs
из таблицы, затем хочу получить доступ к [ServerIP]\[FolderPath]
, чтобы увидеть дельту Now()
и дата последнего сохранения первого файла (или файла) больше чем DaysToKeep
.
Я выполнил большую часть псевдокода и уверен, что могу сделать это на локальном сервере, используя FileSystemObject
(импорт Microsoft Scripting Runtime).
rsDirectoryList.MoveFirst
Do While Not rsDirectoryList.EOF
' Fields: FolderPath, FileType, DaysToKeep, ServerIP
Debug.Print "Values: " & rsDirectory.Fields("FolderPath").Value
' get directory contents from [ServerIP]:[FolderPath]
'fileSpec = rsDirectory.Fields("ServerIP") & rsDirectory.Fields("FolderPath")
Set f = fso.GetFile(fileSpec)
Debug.Print "Last Modified: " & f.DateLastModified & vbNewLine
' Get the date of the first file from [ServerIP]\[FolderPath]
' If Now() - FileDate in days > DaysToKeep, purge directory
'If DateDiff("d", Now(), f.DateLastModified) > rsDirectory.Fields("DaysToKeep").Value Then
' ' Delete files from specified directory
' Kill (serverIP \ FolderPath) ?????
'Else
' Debug.Print "Skipping: " & rsDirectory.Fields(0).Value & vbNewLine
'End If
rs1.MoveNext
Loop
Я думал, что мне, возможно, придется создать общий ресурс для каждого сервера на сервере утилиты и обращаться к ним по букве диска, а не по IP-адресу.
Есть ли способ сделать это с заданными IP-адресами?