需要比较目录中的文件并删除相似的文件(但比常规更复杂)

需要比较目录中的文件并删除相似的文件(但比常规更复杂)

所以我在工作环境中有一个相当奇怪的需求,我很难弄清楚。我会尽量简短明了,但解释一些背景是关键,因为事情具有挑战性。另外,这一切都是在 Windows 环境中进行的,因为这可能很重要哈哈。

因此,我需要一种方法来自动将编辑过的 PDF 移动到特定文件夹。为此,我计划让用户编辑 PDF,然后另存为并在末尾附加一个字母。例如,AB111d 之类的东西会进入“完成”文件夹,但如果是 AB111u,则会进入“未完成”文件夹。我已经通过 Robocopy 解决了这个问题,这很容易。

现在问题就出现了,文件已经按照我们放入主文件夹时所需的命名结构命名,因此用户不必重命名整个文件,只需添加一个字母(速度是关键,因此当这些用户每天执行 100 次时,输入整个名称将非常耗时)。但我还需要删除(或移动也可以)目录中没有附加字母的原始文件。

例如,用户打开 AB111,对其进行处理,另存为并将其重命名为 AB111d,我使用的 robocopy 脚本将 AB111d 移动到 Done 文件夹,但 AB111 仍在其中,原始 AB111 文件是我需要以某种方式删除的文件(再次或移动,它只需要不在用户工作文件夹中,这样他们就知道他们已经完成了)。无论是脚本化的,还是在另存为时发生的,都可以。

有没有办法比较目录中的文件但不添加附加字母?这样我就可以将工作目录与完成目录进行比较(例如),但不在完成目录文件上添加“d”。然后删除/移动原始文件。

最后要注意的是,所有这些都需要通过脚本自动完成,并且最多每 5 分钟发生一次。

答案1

Robocopy 有以下选择:

/mov    Moves files, and deletes them from the source after they are copied.

如果您需要排除目标中存在但源中不存在的文件,这些文件称为“额外文件”。排除额外文件将防止从目标中删除任何文件。选项如下:

/xx     Excludes extra files and directories.

相关内容