我必须遵循目录结构:
fold1
- file1
- file2
fold2
- file1
我正在尝试测试文件夹是否相同,如果不是,请将fold1复制到fold2并覆盖任何不同的文件。这就是我的尝试:
$fold1 = Get-ChildItem -Recurse -path C:\fold1
$fold2 = Get-ChildItem -Recurse -path C:\fold2
$isDif = Compare-Object $fold1 $fold2
if ($isDif -eq $null) {
Write-Host "Folders Are Identical"
}
else {
Write-Host "Folders Are Different"
Copy-Item -Path $fold1.FullName -Destination $fold2.FullName -Recurse -Force
}
但是当我运行它时,它说文件夹是不同的,但它不会复制任何东西。没有错误或任何东西,它只是不起作用。
答案 0 :(得分:1)
这就是我建议在powerhsell中执行任务的方法。如果您创建路径变量,则会更容易,这样您就不会尝试将记录插入目录对象。
.show()
答案 1 :(得分:0)
我,就这样做
$path1 = "C:\temp2\*"
$path2 = "C:\temp3"
Copy-Item -Path $path1 -Destination $path2 -Recurse -Force -ErrorAction Continue
答案 2 :(得分:-1)
我最终使用robocopy
代替:
robocopy c:\fold1 c:\fold2 /s