[英]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.