我希望在不修改日期的情况下更改文件夹内容。
我有时会对旧文件夹进行清理运行,尝试腾出空间或清理临时文件和死角,或添加相关链接或标签以便查找。当我这样做时,我不想将文件夹更改为修改日期:今天2015 ,因为我的文件夹按修改日期排序。 2010年的项目应保留其自2010年的最后修改日期的时间戳,因为我只进行了元更改,而不是实际更改。
目前我使用SK Timestamp或Attribute Changer。在我想要对其进行更改之前,我右键单击每个文件夹,打开“属性”窗口,进行修改,然后单击“应用”以覆盖原始时间戳。
我想更自动化,比如在根文件夹D:\Workspace
上设置 清理模式 ,直到我弹出该状态否子目录Project2010
,Project2013
...,Project2015
要么至少能够复制2个文件之间的时间戳。与提及@COPY /B %1+,, %1
的{{3}}一样,但与当前日期无关。
用法如:touch D:\Temp\Project2010\Source.txt Destination.ext
答案 0 :(得分:1)
我上面提到了一些建议 - 一个涉及修改系统的日期/时间,另一个涉及robocopy
。系统日期/时间有点麻烦,需要访问Internet,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%')"