Dan Hall
Dan Hall

Reputation: 1534

Windows Command Line - Changing a file modified timestamp to an earlier datetime

in windows command line i can use the following to change the timestamp of a file to the current datetime:

copy /b filename.ext +,,

what i need is a way to set the timestamp to a previous datetime (-1 day, -1 week etc)

is this possible?

What i typically do in linux is this:

touch -d "$(date -R -r filename) - 2 hours" filename

But i need this for windows command line, not powershell or any other alternative.

Upvotes: 3

Views: 16843

Answers (2)

Mike Makarov
Mike Makarov

Reputation: 1356

In Powershell, this works:

(gci)[1].LastWriteTimeUtc = (New-Object datetime 2013,12,31)

Upvotes: 3

Dan Hall
Dan Hall

Reputation: 1534

In the end i used the windows port for Gnu:

http://gnuwin32.sourceforge.net/

This example changes the timestamp for all files in a folder:

for /f "tokens=*" %i in ('dir "C:\Data\*" /s /b') do ("GnuWin32\Touch.exe" -t 1003141400 "%i")

or in a batch script:

for /f "tokens=*" %%i in ('dir "C:\Data\*" /s /b') do ("GnuWin32\Touch.exe" -t 1003141400 "%%i")

Upvotes: 2

Related Questions