PowerShell - 禁止复制项'文件夹已存在'错误

use*_*625 20 powershell copy-item

当我从具有子文件夹的文件夹运行递归Copy-Item到包含与原始文件夹相同的子文件夹的新文件夹时,它会在子文件夹已存在时抛出错误.

我怎样才能抑制这种情况,因为它是一种假阴性并且可以使真正的失败更难以看到?

例:

Copy-Item "C:\realFolder\*" "C:\realFolder_new" -recurse

Copy-Item : Item with specified name C:\realFolder_new\subFolder already exists.
Run Code Online (Sandbox Code Playgroud)

Dan*_*nak 17

您可以尝试捕获发生的任何错误,然后决定您是否关心它:

Copy-Item "C:\realFolder\*" "C:\realFolder_new" -recurse -ErrorVariable capturedErrors -ErrorAction SilentlyContinue
$capturedErrors | foreach-object { if ($_ -notmatch "already exists") { write-error $_ } }
Run Code Online (Sandbox Code Playgroud)


lee*_*icw 11

如果添加-Force到命令中,它将覆盖现有文件夹,您将看不到错误.

Copy-Item "C:\realFolder\*" "C:\realFolder_new" -Recurse -Force
Run Code Online (Sandbox Code Playgroud)

  • 覆盖现有文件夹?还是仅覆盖现有文件夹中的“文件”? (2认同)

And*_*ndi 7

您可以使用以下命令将错误处理行为设置为忽略:

Copy-Item "C:\realFolder\*" "C:\realFolder_new" -recurse -ErrorAction SilentlyContinue
Run Code Online (Sandbox Code Playgroud)

然而,这也将抑制你的错误想知道!