Verificação de erros do PowerShell durante a cópia do arquivo com recursão
-
25-09-2019 - |
Pergunta
Eu tenho um programa que copia pastas e arquivos recursivamente. exemplo:
Copy-Item -path "$folderA" -destination "$folderB" -recurse
Às vezes, os arquivos não copiam. Existe uma maneira de "entrar na recursão" ou uma maneira melhor de fazê -lo, para que eu possa ativar algum tipo de verificação de erros durante o processo, e não após as enfermarias. Possivelmente até fazer um teste de teste e solicitar uma recuperação?
Solução
Você pode. Por exemplo, o snippet de código a seguir copiará e verificará cada arquivo para possíveis erros. Você também pode colocar seu código personalizado no início para verificar alguns pré -requisitos:
get-childItem $source -filter *.* | foreach-object {
# here you can put your pre-copy tests...
copy-item $_.FullName -destination $target -errorAction SilentlyContinue -errorVariable errors
foreach($error in $errors)
{
if ($error.Exception -ne $null)
{
write-host -foregroundColor Red "Exception: $($error.Exception)"
}
write-host -foregroundColor Red "Error: An error occured during copy operation."
}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow