在我的内部系统上重复日志收集期间,发现递归 Copy-Item 调用的奇怪行为
说,我有一些文件的 C:\Source 和带有文件的子文件夹。我想将它递归地复制到 C:\Target。第一次所有源将递归复制到 C:\Target
当我第二次尝试将“C:\Source”复制到“C:\Target”时,就会出现问题。在这种情况下,“C:\Source”将被复制到“C:\Target\Source”
例如:
cls
if(Test-Path "C:\Target")
{
Remove-Item "C:\Target"
}
Copy-Item "C:\Source" "C:\Target" -Force -Recurse | Out-Null
DIR "C:\Target"
Write-Host "OK"
Write-Host " "
Write-Host " "
Copy-Item "C:\Source" "C:\Target" -Force -Recurse | Out-Null
DIR "C:\Target"
Write-Host "Not OK"
脚本输出:
Directory: C:\Target
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 4/11/2016 3:45 PM SampleSourceFolderLevel1
-a--- 4/11/2016 3:35 PM 0 SampleFileLevel0.txt
OK
d---- 4/11/2016 3:45 PM SampleSourceFolderLevel1
d---- 4/11/2016 3:45 PM Source
-a--- 4/11/2016 3:35 PM 0 SampleFileLevel0.txt
Not OK
知道如何让 Copy-Item 像这样工作
ROBOCOPY $sourceLog $targetLog /E | Out-Null
??
提前致谢