-3

我需要帮助,我是 VBScript 的新手。我需要一个 vbscript,它可以检查包含 10 到 20 个 .csv 文件的文件夹,需要检查日期和时间并发送超过 15 分钟到 1 小时未更新的文件的报告。

文件位于网络共享上。(\用户\文件)

感谢您的回复n指南。

我确实根据需要更改了代码,仍然需要更多帮助。

   DirCheck="W:\RC"

   set fso=CreateObject("Scripting.FileSystemObject")

    Set FOL = fso.GetFolder(DirCheck)

    Set output = fso.CreateTextFile("C:\Temp\output.txt",True) 

    For each fil in FOL.files
        strExtension=Fso.GetExtensionName(fil.name)
        If UCase(strExtension)="CSV" Then
        output.WriteLine fil.name

     End If
    Next

    Set fso=Nothing

我希望它在 output.txt 中写入文件名 + 文件的最后修改日期。目前它正在写入文件名。有人可以指导我吗?

4

2 回答 2

0

FileSystemObject 是您的朋友,如果您在 VBScript 中处理文件,请学会爱上 FSO。

此示例应该有所帮助 - 显示自上次修改 CSV 文件以来的时间(以分钟为单位) - 只要运行脚本的用户对共享具有读取权限,就可以在共享上工作。

DirCheck="C:\test"

set fso=CreateObject("Scripting.FileSystemObject")

Set FOL = fso.GetFolder(DirCheck)

For each fil in FOL.files
    strExtension=Fso.GetExtensionName(fil.name)
    If UCase(strExtension)="CSV" Then
        strFileName=fil.name
        wscript.echo("File : " & strFileName)
        Wscript.echo("Mins since last modificaion: " & DateDiff("n",fil.DateLastModified,now))
    End If
Next

Set fso=Nothing
于 2013-07-30T08:08:28.227 回答
0

查找文档。如果你有交换,你必须设置不同的属性。

Set emailObj      = CreateObject("CDO.Message")
emailObj.From     = "ndy@gail.com"

emailObj.To       = "ndy@gail.com"

emailObj.Subject  = "Test CDO"
emailObj.TextBody = "Test CDO"

emailObj.AddAttachment "c:\windows\win.ini"

Set emailConfig = emailObj.Configuration

emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing")    = 2  
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1  
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl")      = true 
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername")    = "ndy"
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword")    = "password"
emailConfig.Fields.Update

emailObj.Send

If err.number = 0 then Msgbox "Done"
于 2014-03-27T07:47:34.560 回答