Windows命令行 - 将文件修改时间戳更改为较早的日期时间

时间:2018-04-20 10:08:50

标签: windows command-line file-attributes

在Windows命令行中的

我可以使用以下命令将文件的时间戳更改为当前日期时间:

copy /b filename.ext +,,

我需要的是一种将时间戳设置为上一个日期时间(-1天,-1周等)的方法

这可能吗?

我通常在linux中做的是:

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

但我需要这个用于Windows命令行,而不是PowerShell或任何其他替代方案。

2 个答案:

答案 0 :(得分:1)

最后我使用了Gnu的Windows端口:

http://gnuwin32.sourceforge.net/

此示例更改文件夹中所有文件的时间戳:

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

或在批处理脚本中:

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

答案 1 :(得分:0)

在Powershell中,此方法有效:

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