使用VBScript创建已删除文件的日志

使用VBScript创建已删除文件的日志,vbscript,Vbscript,下面是我删除DAT文件的代码 OPTION EXPLICIT DIM strExtensionsToDelete,strFolder DIM objFSO, MaxAge, IncludeSubFolders ' ************************************************************ ' Setup ' ************************************************************ ' Folder

下面是我删除DAT文件的代码

OPTION EXPLICIT
DIM strExtensionsToDelete,strFolder
DIM objFSO, MaxAge, IncludeSubFolders

' ************************************************************
' Setup
' ************************************************************

' Folder to delete files
strFolder = "E:\test"
' Delete files from sub-folders?
includeSubfolders = true
' A comma separated list of file extensions
' Files with extensions provided in the list below will be deleted
strExtensionsToDelete = "dat"
' Max File Age (in Days).  Files older than this will be deleted.
maxAge = 0

' ************************************************************

set objFSO = createobject("Scripting.FileSystemObject")

DeleteFiles strFolder,strExtensionsToDelete, maxAge, includeSubFolders

wscript.echo "Finished"

sub DeleteFiles(byval strDirectory,byval strExtensionsToDelete,byval maxAge,includeSubFolders)
DIM objFolder, objSubFolder, objFile
DIM strExt

set objFolder = objFSO.GetFolder(strDirectory)
for each objFile in objFolder.Files
    for each strExt in SPLIT(UCASE(strExtensionsToDelete),",")
        if RIGHT(UCASE(objFile.Path),LEN(strExt)+1) = "." & strExt then
            IF objFile.DateLastModified < (Now - MaxAge) THEN
                wscript.echo "Deleting:" & objFile.Path & " | " & objFile.DateLastModified 
                objFile.Delete
                exit for
            END IF
        end if
    next
next    
if includeSubFolders = true then ' Recursive delete
    for each objSubFolder in objFolder.SubFolders
        DeleteFiles objSubFolder.Path,strExtensionsToDelete,maxAge,includeSubFolders
    next
end if
end sub
选项显式
DIM strExtensionsToDelete,strFolder
DIM objFSO,最大年龄,包括子文件夹
' ************************************************************
"设置",
' ************************************************************
'要删除文件的文件夹
strFolder=“E:\test”
'是否从子文件夹中删除文件?
includeSubfolders=true
'以逗号分隔的文件扩展名列表
'将删除以下列表中提供扩展名的文件
strExtensionsToDelete=“dat”
'最大文件期限(以天为单位)。早于此的文件将被删除。
最大年龄=0
' ************************************************************
设置objFSO=createobject(“Scripting.FileSystemObject”)
删除文件strFolder、strExtensionsToDelete、maxAge、includeSubFolders
wscript.echo“已完成”
子删除文件(byval strDirectory、byval strExtensionsToDelete、byval maxAge、includeSubFolders)
DIM objFolder、objSubFolder、objFile
昏暗的街道
设置objFolder=objFSO.GetFolder(strDirectory)
对于objFolder.Files中的每个objFile
对于拆分中的每个strExt(UCASE(strExtensionsToDelete),“,”)
如果右(UCASE(objFile.Path),LEN(strExt)+1)=“”&strExt则
如果objFile.DateLastModified<(现在-最大年龄),则
wscript.echo“删除:”&objFile.Path&“|”&objFile.DateLastModified
objFile.Delete
退出
如果结束
如果结束
下一个
下一个
如果includeSubFolders=true,则为“递归删除”
对于objFolder.SubFolders中的每个objSubFolder
DeleteFiles objSubFolder.Path,strExtensionsToDelete,maxAge,includeSubFolders
下一个
如果结束
端接头
现在,我想创建一个日志文件来存储删除的文件信息(例如文件名、脚本运行时以及运行此脚本的用户)。有人能帮我吗


提前谢谢。如果我同意你的风格模式的话

' outside your DeleteFiles()
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set LogFile = objFSO.CreateTextFile(objFSO.GetTempName)
LogFile.WriteLine "DateTime: " & Now
LogFile.WriteLine "UserName: " & CreateObject("WScript.NetWork").UserName

DeleteFiles ...

' outside your DeleteFiles()
LogFile.Close

WScript.Echo "Finished"

Sub DeleteFiles(...

    ' inside For..Next in DeleteFiles()
    LogFile.WriteLine objFile.Path

End Sub