比较两个具有不同子目录结构的文件夹

比较两个具有不同子目录结构的文件夹

我有两个具有不同层次结构的文件夹。一个是平面的,另一个按日期排序(按月份排序的文件夹和按日期排序的子文件夹)。我想将层次结构扁平化,创建层次结构,或者只是有一个可以同步层次结构差异的程序。

我使用的是 Windows 7,但如果有可以运行的命令行差异,我就有 cygwin。

这些只是照片和电影。我根据拍摄日期重命名了两个目录中的文件,所以我想我可以只比较文件名,而不必关心文件内容。这会让事情变得更容易吗?也许我可以列出所有文件,然后比较两个日志的差异。

答案1

我确信您可以使用 PowerShell 或其他脚本语言解决此问题。

Get-ChildItem - Lists files. 
New Item - Creates folders
Copy-Item - Copy the files.
Compare-Object - Highlights differences.

PS 您能否说明一下您是想创建一个永久的新结构,还是让两个现有结构保持同步。如果是后者,那么我会将任务计划程序纳入解决方案中。

答案2

我已经很久没有想出解决方案了,但我会尝试重述一下。我过去常常find . -name '*'获取两个结构中的所有文件的列表,并将其导入两个文本文件。我手动进入层次结构的文本文件,并使用.*/\.*/\notepad++ 中的正则表达式 find-replace 删除文件夹名称。最后,我手动删除了所有未使用正则表达式完成的目录。然后,我diff对两个日志文件进行了操作,以查找不在两个结构中的文件。

相关内容