//  home   //  advanced search   //  news   //  categories   //  sql build chart   //  downloads   //  statistics
ASP FAQ Tutorials

   8000XXXX Errors
   ASP.NET 2.0
   Classic ASP 1.0
      COM / ActiveX Components
      General Topics
      Date/Time Routines
      Email Scripts & Info
      Files/Directories & FSO
   General Concepts
   Search Engine Optimization (SEO)

Contact Us
Site Map



ASP FAQ Tutorials :: Classic ASP 1.0 :: Files/Directories & FSO :: How do I change the modified time of a file?

How do I change the modified time of a file?

The DateLastModified property of the FileSystemObject is read-only. However, you can use Shell.Application to achieve this (thanks for the tip, Richard): 
    Sub Touch(FolderPath, FileName, NewDate) 
        Set app = CreateObject("Shell.Application") 
        Set folder = app.NameSpace(FolderPath) 
        Set file = folder.ParseName(FileName) 
        file.ModifyDate = NewDate 
        set file = nothing 
        set folder = nothing 
        set app = nothing 
    End Sub 
    Call Touch(Server.MapPath("/"), "somefile.htm", "2005-09-01") 
    Call Touch("C:\", "somefile.txt", "2012-01-01") 
I was unable to get this to work on my local system, but I have been assured by others that this will work. 
If it's a text-based file, you could read in the contents of the file, delete the file, and re-create it. That would alter the create *and* modify time of the file, and might not be the desired result (especially since you can't just pass in an arbitrary date/time). Here is the code to do this in VBScript: 
    Sub Touch(FolderPath, FileName) 
        set fso = CreateObject("Scripting.FileSystemObject") 
        set fs = fso.openTextFile FolderPath & FileName, 1, true 
        f = fs.readAll() 
        fs.close: set fs = nothing 
        fso.deleteFile FolderPath & FileName, true 
        set fs = fso.createTextFile FolderPath & FileName, true 
        fs.close: set fs = nothing 
        Set fso = nothing 
    End Sub 
    Call Touch(Server.MapPath("/"), "somefile.htm") 
    Call Touch("c:\", "somefile.txt") 
As a last resort, you could use Touch.EXE (from the Resource Kit), called via Shell.Application...

Related Articles

Can I include a file in both server-side and client-side script?
Can I read / write a user's file without a prompt?
Can I rename a file using FileSystemObject?
Could I get some help working with files using FileSystemObject?
How do I avoid 'the red x' when an image is missing?
How do I create / manipulate images from ASP?
How do I dynamically include files?
How do I find the owner, author, and other properties of a file?
How do I get a list of a folder's subfolders?
How do I get the name of the current URL / page?
How do I prevent people from 'leeching' my CSS or JS files?
How do I prevent people from 'leeching' my images?
How do I retrieve a random file from a given folder?
How do I send the correct filename with BinaryWrite?
How do I sort a list of files?
How do I use FileSystemObject to create a file on the client?
Why do I get 'Disk not ready' errors with FileSystemObject?
Why do I get 'Invalid procedure call or argument'?
Why do I get 'Path not found' errors with Scripting.FileSystemObject?
Why do I get 'Permission Denied' errors with FileSystemObject?
Why do I get 800A0034 errors?
Why do I get 800A003E / Input past end of file errors?
Why do I get 800A0BBA errors?
Why do I get 800A0BBC errors?
Why do I get an 'Invalid Path Character' error?
Why do I get permissions errors after upgrading to Windows XP?
Why does FileSystemObject hang all of a sudden?
Why is 'the operation completed successfully' an error message?



Created: 6/25/2002 | Last Updated: 10/5/2005 | broken links | helpful | not helpful | statistics
© Copyright 2006, UBR, Inc. All Rights Reserved. (322)


Copyright 1999-2006, All rights reserved.
Finding content
Finding content.  An error has occured...