【问题标题】:needing help creating a script to find if a folder has been modified in the last day and if not create a txt file in a location需要帮助创建脚本以查找文件夹是否在最后一天被修改,如果没有在某个位置创建 txt 文件
【发布时间】:2015-01-21 12:23:09
【问题描述】:

我正在尝试创建一个脚本来查找文件夹是否在最后一天未被修改,并在某个位置创建一个文本文件。但是,如果它在最后一天被修改,我希望它退出脚本。

目前,我只能创建一个(由于我对 VBscripting 的基本知识)来查找文件夹是否存在,如果存在则创建一个脚本。

但是,这不起作用,因为每天都会使用新名称创建子文件夹,显然这意味着我的脚本必须每天更改,这是没有意义的。

如果上次修改日期不是

这是目前为止的脚本:

 Set objFSO = CreateObject("Scripting.FileSystemObject")
   If objFSO.FolderExists("c:\test") Then
   wsscript.quit
   Else
   dim filesys, filetxt, getname, path 
   Set filesys = CreateObject("Scripting.FileSystemObject") 
   Set filetxt = filesys.CreateTextFile("c:\test\test.txt", True) 
   path = filesys.GetAbsolutePathName("c:\test\test.txt") 
   getname = filesys.GetFileName(path) 
   filetxt.WriteLine("file doesnt exist.") 
   filetxt.Close 
   End If

我知道我需要将 .folderExists 行更改为类似

if file.DateLastModified > dateadd("h", -24, Now) then 

我想要一个天参数而不是一个小时;我知道这意味着将 h 变成 d,但我不确定是否过去。

已经被邦德先生解决了!他是个很棒的人。但是我现在有另一个问题,知道如何添加命令以向其中发送 Outlook 电子邮件吗?作为 else 选项。

【问题讨论】:

    标签: vbscript directory last-modified days


    【解决方案1】:

    使用Folder 对象的DateLastModified 属性。

    If objFSO.GetFolder("c:\test").DateLastModified >= Date - 1 Then
        ' Folder modified within last day
    Else
        ' Folder modified more than a day ago
    End
    

    无需使用DateAdd() 来加/减天数。你可以只使用整数算术。

    请注意,这将产生一个 时间 零/午夜。因此,实际上是在检查文件夹是否从昨天开始被修改,而不是在过去 24 小时内。这可能是你想要的,也可能不是。

    【讨论】:

    • 您知道如何在“else”选项之后添加一个部分以发送电子邮件吗?
    • 在此站点中搜索[vbscript] CDO。使用 Collaboration Data Objects 库从 VBScript 发送电子邮件有很多很好的示例。祝你好运。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    • 2018-06-30
    • 1970-01-01
    • 2021-12-08
    • 2019-03-10
    • 2020-09-25
    相关资源
    最近更新 更多