批处理脚本重置所有文件的时间戳

时间:2012-02-12 04:56:35

标签: windows windows-7 batch-file

在Windows 7中,如何清除或设置今天特定目录中所有文件和子文件的时间戳? 我已使用fsutil behavior set disablelastaccess 1禁用了时间戳保存, 但到目前为止它已被保存。我怎么能清楚这一点?

1 个答案:

答案 0 :(得分:3)

这是一种棘手的语法,但copy file+将更新文件的最后写入属性,而不对内容进行任何更改。该文件必须位于当前目录中。

以上在Vista中有效。我也见过copy file+,,。这也适用于Vista,在某些其他版本的Windows中可能需要此格式。

当您说“使用fsutil behavior set disablelastaccess 1”禁用了时间戳保存时,我不确定您的意思。无论何时更改文件,最后写入的时间戳仍将更新。唯一被禁用的是更新上次访问时间戳。这是Vista前进的默认行为。最后一个访问时间戳无论如何都是毫无价值的,因为Windows在访问时无法可靠地设置它。

您可以使用以下脚本轻松更新目录和子目录中所有文件的上次写入时间戳。

@echo off
setlocal
for /d /r "someDirectoryPath" %%D in (.) do (
  cd "%%D"
  copy *+
)