簡體   English   中英

Powershell復制項未復制

[英]Powershell Copy-Item not copying

我要以下目錄結構:

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
}

但是當我運行它時,它說文件夾是不同的,但是它不會復制任何內容。 沒有錯誤或其他任何東西,只是行不通。

這就是我建議在powerhsell中執行任務的方式。 如果您創建路徑變量,則可以輕松得多,這樣就不會嘗試將記錄插入目錄對象中。

$path1 = "C:\fold1"
$path2 = "C:\fold2"
$fold1 = Get-ChildItem -Recurse -path $path1
$fold2 = Get-ChildItem -Recurse -path $path2
$isDif = Compare-Object $fold1 $fold2
if ($isDif -eq $null) {
    Write-Host "Folders Are Identical"
}
else 
{
    Write-Host "Folders Are Different"
    ForEach($file in $fold1)
    {
        if($fold2 -notcontains $file)
        {
            Copy-Item -Path $file.FullName -Destination $path2 -Recurse -Force
        }
    }
}

我,就去做

 $path1 = "C:\temp2\*"
 $path2 = "C:\temp3"

 Copy-Item -Path $path1 -Destination $path2 -Recurse -Force -ErrorAction Continue

我最終使用robocopy代替:

robocopy c:\fold1 c:\fold2 /s

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM