2

我正在使用 Robocopy 在我们的服务器上存档 X 天的文件/文件夹,并且发现我的过滤器不能正确设置。移动正确执行,但移动完成后旧文件夹会留在源服务器上,给我留下许多空文件夹和子文件夹。这是我的脚本:

    Robocopy "source" "destination" /DCOPY:T /tee /mt:16 /MOVE /MINAGE:120 /LOG+:Log.txt

我错过了什么?

4

4 回答 4

3

您需要 /E 复制(空)子文件夹
http://ss64.com/nt/robocopy.html

于 2013-10-24T08:20:34.850 回答
1

我在某些版本的 Robocopy 中发现的一个问题是,如果您将 /mt 开关与 /move 开关一起使用,它似乎会留下现在为空的文件夹。尝试删除 /mt 开关,看看它是否对您更有效,因为这对我有帮助。

于 2014-03-06T04:02:49.727 回答
0

如果您的文件夹在不到 16 天前被修改,它不会被“移动”(并因此被删除),因为它不适合过滤器/MINAGE:120
在 robocopy 之前,您可能需要一个例程将文件夹的日期设置为它包含的最后修改文件之一。

于 2014-04-21T12:23:17.907 回答
0

/MT: 选项与日期无关,它是 robocopy 使用的线程数。最初的问题仍然存在:如果您使用 robocopy 移动很多带有子文件夹的文件夹,那么最深级别的子文件夹确实被移动了,树中较高的文件夹仍然存在(尽管是空的)。这与“设计”无关,这是一个错误。在旧版本中,它按预期工作。如果您移动了一个包含 10 层深的子文件夹的文件夹,则所有内容都已移动。现在最深的一个被移动了,其余的都保留为空文件夹。文件按预期移动。您可以删除 /MT 开关,它不会更改任何内容,因为默认值 8 会自动应用。

于 2015-09-09T22:13:08.453 回答