Powershell Copy-Item不复制

时间:2016-10-31 13:42:43

标签: powershell

我必须遵循目录结构:

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
}

但是当我运行它时,它说文件夹是不同的,但它不会复制任何东西。没有错误或任何东西,它只是不起作用。

3 个答案:

答案 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