Asp classic 如何使用vbscript更新文件内容而不更新它';修改日期是什么时候?

Asp classic 如何使用vbscript更新文件内容而不更新它';修改日期是什么时候?,asp-classic,vbscript,Asp Classic,Vbscript,一些大型网站在线时的文档类型不正确(4.0而不是4.01)。我已经编写了一个脚本来更新包含此内容的任何文件,但它会更新文件的修改日期,我希望将其保留为原始日期,在vbscript(使用经典asp)中是否可以这样做 以下是我简单替换文件内容的代码: ' My folder root is here FileRoot = "D:\myRootHere\" ' Now I use Persits upload because I need the impersonation setting below

一些大型网站在线时的文档类型不正确(4.0而不是4.01)。我已经编写了一个脚本来更新包含此内容的任何文件,但它会更新文件的修改日期,我希望将其保留为原始日期,在vbscript(使用经典asp)中是否可以这样做

以下是我简单替换文件内容的代码:

' My folder root is here
FileRoot = "D:\myRootHere\"
' Now I use Persits upload because I need the impersonation setting below it
Set Upload = Server.CreateObject("Persits.Upload")
' Set impersonation to authorise file over-writing (this is correct and working)
Upload.LogonUser "localhost","myUsername","myPassword"
Set Dir = Upload.Directory(FileRoot & "*.asp", SORTBY_TYPE)
For Each item in Dir
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile(FileRoot & item.FileName, ForReading)
    strText = objFile.ReadAll
    objFile.Close
    If instr(strText,"HTML 4.0 Transitional") then
        strNewText = Replace(strText,"HTML 4.0 Transitional","HTML 4.01 Transitional")
        Set objFile = objFSO.OpenTextFile(FileRoot & item.FileName, ForWriting)
        objFile.WriteLine strNewText
        objFile.Close
    End If
Next
Set Upload = nothing
这个例子我是从


并在文件夹中的一个文件上测试ok,该文件夹中的每个人都拥有
完全控制权

您想在文件系统不知道的情况下更新该文件吗?我猜这是不可能的(没有一些真正的低级代码,直接修改文件系统数据),或者至少不是一个好主意。出于好奇,为什么不让文件系统知道文件已被修改?这听起来像是问题的根源在设计的其他地方。嗨,大卫-我喜欢把mod日期看作是一个提醒,提醒我以前对代码做了重大更改,并将它们与我的脱机副本进行匹配,因为其他一些开发人员也在这些网站上工作,我希望确保一切都同步。我想知道我是否可以读取mod日期,然后在写入文件时写入mod日期?听起来文件修改日期不是您应该使用的日期。它不会跟踪文件的“重大”更改,而是跟踪文件的任何更改。您的源代码管理系统应该在内部跟踪这些更改实际是什么(以及是谁做的,何时做的,等等)。
Set objShell = CreateObject("Shell.Application")

Set objFolder = objShell.NameSpace(FilePath)
Set objFolderItem = objFolder.ParseName(FileName)

objFolderItem.ModifyDate = "01/01/2013 8:00:00 AM"