0

我想更改文件夹内容而不更改日期修改

我有时会对旧文件夹进行清理,尝试腾出空间或清理临时文件和死胡同,或者添加相关链接或标签以方便查找。当我这样做时,我不想将文件夹更改为Date modified: today 2015,因为我的文件夹按Date modified排序。2010 年的项目应保留其最后一次修改日期为 2010 年的时间戳,因为我只进行了元更改,而不是实际更改。

目前我使用SK TimestampAttribute Changer。我在要更改之前右键单击每个文件夹,保持“属性”窗口打开,进行修改,然后点击“应用”以覆盖原始时间戳。

我想让它更自动化,比如在根文件夹上设置一个清理模式D:\Workspace,直到我弹出那个状态,子目录中的时间戳永远不会改变Project2010Project2013...,Project2015

或者至少能够在两个文件之间复制时间戳。就像在这个答案中提到的一样@COPY /B %1+,, %1,但不是当前日期。用法如:touch D:\Temp\Project2010\Source.txt Destination.ext

4

1 回答 1

1

我在上面评论了一些建议——一个涉及修改系统的日期/时间,另一个涉及robocopy. 系统日期/时间有点麻烦,需要上网,robocopy /dcopy:t在我的测试中,开关根本不起作用。

但无论如何我找到了更好的解决方案。使用for循环将文件夹的日期时间捕获到变量中。然后,在您进行任何您希望的更改后,使用powershell将文件夹的日期/时间恢复原状。

@echo off
setlocal

set "dir=path\to\directory"
for %%I in (%dir%) do set "datetime=%%~tI"

:: Do whatever deletions and other maintenance you want here.

:: Then after all changes have completed, reset the dir timestamp.
powershell -command "(Get-Item '%dir%').LastWriteTime=(Get-Date '%datetime%')"
于 2015-01-19T23:26:58.960 回答