当我从具有子文件夹的文件夹中运行递归Copy-Item到包含与原始文件夹相同的子文件夹的新文件夹时,它会在子文件夹已存在时抛出错误。
我怎样才能抑制这种情况,因为它是假阴性并且可以使真正的失败更难看?
示例:
Copy-Item "C:\realFolder\*" "C:\realFolder_new" -recurse
Copy-Item : Item with specified name C:\realFolder_new\subFolder already exists.
答案 0 :(得分:16)
您可以尝试捕获发生的任何错误,然后决定您是否关心它:
Copy-Item "C:\realFolder\*" "C:\realFolder_new" -recurse -ErrorVariable capturedErrors -ErrorAction SilentlyContinue
$capturedErrors | foreach-object { if ($_ -notmatch "already exists") { write-error $_ } }
答案 1 :(得分:9)
如果您在命令中添加-Force
,它将覆盖现有文件夹,您将看不到错误。
Copy-Item "C:\realFolder\*" "C:\realFolder_new" -recurse -Force
答案 2 :(得分:7)
您可以使用以下命令将错误处理行为设置为忽略:
Copy-Item "C:\realFolder\*" "C:\realFolder_new" -recurse -ErrorAction SilentlyContinue
然而,这也会抑制 想要了解的错误!