Pergunta

Quando executo um recursivo Copiar Item de uma pasta que possui subpastas para uma nova pasta que contém as mesmas subpastas da original, gera um erro quando as subpastas já existem.

Como posso suprimir isso porque é um falso negativo e pode dificultar a visualização de falhas verdadeiras?

Exemplo:

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

Copy-Item : Item with specified name C:\realFolder_new\subFolder already exists.
Foi útil?

Solução

Você pode tentar capturar quaisquer erros que ocorram e então decidir se você se importa com isso ou não:

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

Outras dicas

Se você adicionar -Force ao seu comando, ele substituirá os arquivos existentes e você não verá o erro.

-Recurse substituirá todos os itens dentro de cada pasta e todas as subpastas.

Copy-Item "C:\realFolder\*" "C:\realFolder_new" -Recurse -Force

Você pode definir o comportamento de tratamento de erros para ignorar usando:

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

No entanto, isso também suprimirá erros que você fez quero saber sobre!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top