Jump to content

Windows FileSetTime $FT_CREATED


jaja714
 Share

Recommended Posts

Am I correct in assuming AutoIt cannot alter the creation timestamp of a windows file for security reasons?  i'm trying to FileCopy (and rename) thousands of spreadsheets to a new directory but I want to keep the file times.  FileSetTime works great for modified and accessed date but not for create date.  If this is a security violation, I suppose I can start over and use robocopy or something.

Link to comment
Share on other sites

1 hour ago, jaja714 said:

Am I correct in assuming AutoIt cannot alter the creation timestamp of a windows file for security reasons?

As far as I can tell, No ;). Take a look at _Date_Time_SetFileTime

I copied a file to another directory and was able to restore the original creation timestamp.

Edited by Musashi
typo

Musashi-C64.png

"In the beginning the Universe was created. This has made a lot of people very angry and been widely regarded as a bad move."

Link to comment
Share on other sites

FileSetTime, with $FT_CREATED, sets the create date just fine on my machine.  I just tested it on a Win7 box.  So if it doesn't work for you, then maybe there's an issue in your environment or your implementation.  Since you haven't shown the relevant code that you are using, it's REALLY hard to know why it may not be working for you.

Edited by TheXman
Link to comment
Share on other sites

27 minutes ago, TheXman said:

FileSetTime, with $FT_CREATED, sets the create date just fine on my machine.

Yes, I can confirm that (for the sake of completeness only :) ). It is also easier to handle compared to _Date_Time_SetFileTime.

Musashi-C64.png

"In the beginning the Universe was created. This has made a lot of people very angry and been widely regarded as a bad move."

Link to comment
Share on other sites

44 minutes ago, jaja714 said:

Unfortunately, _Date_Time_SetFileTime, needs a filehandle ...

To get the handle(s) of the respective file(s) you can use _WinAPI_CreateFile . The function name (...CreateFile) is a bit misleading, because with the parameter $iCreation=2 an already existing file can be opened. By using the parameter $iAccess=4 the timestamps can be inserted.

Musashi-C64.png

"In the beginning the Universe was created. This has made a lot of people very angry and been widely regarded as a bad move."

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...