比较同一目录的不同版本(按修改日期)

时间:2018-10-15 14:38:10

标签: powershell scripting directory

这是一个多部分的问题。一旦可以使用原型,就可以填写细节。

情况:由于出错的原因,我有一个非常大的目录的三个副本,每个副本都有一些新文件/文件版本独特。我想将这些结合起来,保留每个文件的最新版本。

分解一下我不知道的事情:如何递归比较目录(可能一次执行两个; 1 vs 2 = 1 + 2,然后1 + 2 vs 3 = 1 + 2 +3)。对此至关重要的步骤是如何使用目录1中文件的路径/文件名首先查看是否可以在目录2中找到该文件,然后(如果找到)使用修改后的日期来确定是从1还是从2复制到新的合并目录。

我认为,利用这3条信息(通过路径和修改日期递归比较文件b / t两个目录),我可以拼凑出如何编写此脚本。虽然我可以分别查找这些位,但是很难说服自己该过程已正确完成,并且我想对实际评估/移动步骤有所帮助,所以我不必担心我会忽略一些小而关键的细节。

当我将脚本放在一起时,将发布该脚本,以及有关我对其的信心的所有警告。

1 个答案:

答案 0 :(得分:2)

i.TypeOfSchedule = Faker.PickRandom<Schedule>(); 是为文件复制而构建的,并且有足够的选择来覆盖几乎所有情况时,不要浪费时间编写脚本。

默认情况下,仅当源和目标具有不同的时间戳或不同的文件大小时,才会复制文件。

使用robocopy将排除不同的较旧文件,因此最终只会得到目的地中最新的文件。

/XO包含子文件夹,其中包含空文件夹,更改为/E以不包含空文件夹。

/S