我有一个装满文件的文件夹,让我们称之为文件夹A,其中一些(但不是全部)也存在于另一个名为文件夹B的文件夹中。
B中的文件已过期,我想将这些文件的较新版本从A复制到B(覆盖B中的文件),但不复制A中尚未存在的所有额外文件存在于B.
B中可能还有不在A中的文件。
有没有办法用PowerShell做到这一点?我知道我可以用xcopy
完成它,就像this question一样,但我正在寻找一个纯粹的Powershell解决方案。
我不关心文件是否更新,更旧或未更改等。
答案 0 :(得分:1)
通过循环浏览A中的文件并检查它们是否在B中,这是相对简单的。
$aDir = "C:\Temp\powershell\a"
$bDir = "C:\Temp\powershell\b"
$aFiles = Get-ChildItem -Path "$aDir"
ForEach ($file in $aFiles) {
if(Test-Path $bDir\$file) {
Write-Output "$file exists in $bDir. Copying."
Copy-Item $aDir\$file $bDir
} else {
Write-Output "$file does not exist in $bDir."
}
}