【发布时间】:2017-02-21 15:32:10
【问题描述】:
我有一个很大的目录,我想将比 90 天更早的文件夹/文件移动到另一个目录。
我的出发点是这个cmd命令
forfiles /s /m *.* /d -90 /c "cmd /c echo @file is at least 90 days old."
这将返回超过 90 天的文件,但我需要将 echo 替换为 move 命令。我不确定这将如何使文件与其父目录保持原样。
这样可以保持文件夹结构吗?
forfiles /s /m *.* /d -90 /c "move @file c:\temp"
在尝试这样做时,有人有什么建议或预见到任何问题吗?
Robocopy 不是一种选择。
【问题讨论】:
-
堆栈溢出搜索 [batch-file] or [cmd] move files older than 返回 75 个命中。所以这绝对不是第一次被问到。我建议您阅读找到的问题和答案。使用 Windows 命令解释器的主要问题是没有对时差计算的内置支持。最好使用 PowerShell。所有“早于”问题的主要批处理文件/cmd 主题是:Batch file to delete files older than N days。