我有两个文件夹
- C:\文件夹1
- C:\文件夹2
两个文件夹都包含具有不同编号文件名的 *.txt 文件(例如 01.txt、02.txt...10.txt)
该脚本比较两个文件夹中存在的文件。然后仅将“Folder1”中不存在于“Folder2”中的文件复制到 C:\TestFolder,反之亦然。
例如,如果:
- Folder1 包含一个名为 10.txt 的文件
- Folder2 包含多个文件 02.txt,10.txt
那么 02.txt 将是唯一复制到 C:\Testfolder 的文件。
我将修改以下脚本以添加以下功能:
- 如果 Folder1 中的文件较新,则“所有”Folder2 中的文件:什么都不做。
- 如果 Folder1 中的文件较新,则 Folder2 上的“一些”文件:将较新的文件复制到 Folder3。
基本上我需要检查 Folder1 中存在的文件是否已经存在于 Folder2 中。还要验证此文件是否相同,或者 Folder2 中是否存在较新版本的文件。
Compare-Object $Folder1 $Folder2 -Property Name, Length , LastWriteTime | Where-Object {$_.SideIndicator -eq "<="} | ForEach-Object {
Copy-Item "C:\Source\$($_.name)" -Destination "C:\TestFolder" -Force -recurse -include "*.txt"
}