Não é incomum que o software de segurança bloqueie arquivos enquanto eles são verificados e, assim, ficam no caminho da exclusão de arquivos. Em vez de tentar derrotar as verificações (que geralmente são frágeis), usei com êxito uma abordagem mais adaptável em que as exclusões com falha são enfileiradas para tentar mais tarde.
Contextualizado para trabalhar no Lote do Azure ...
- Escolha um local (como
%AZ_BATCH_NODE_SHARED_DIR%
) para um arquivo de texto
que lista os arquivos enfileirados para exclusão - pending-deletes.txt
. (Você pode querer inicializar isso como um arquivo de zero bytes em sua tarefa de preparação de trabalho)
- Quando sua tarefa for concluída, tente excluir o arquivo de entrada como de costume
- Se a exclusão funcionar, ótimo .
- Se a exclusão falhar, acrescente o caminho completo desse arquivo como uma nova linha em
pending-deletes.txt
, enfileirando-o para uma limpeza posterior.
- Como última etapa da execução da tarefa, execute um script (eu escrevo no PowerShell) que percorra o
pending-deletes.txt
verificando cada arquivo.
- Se o arquivo já foi removido ou agora pode ser excluído, remova-o de
pending-deletes.txt
- Caso contrário, deixe-o listado para outra tentativa mais tarde
- (Opcional) Execute uma exclusão final como parte de sua tarefa de liberação de trabalho para concluir a limpeza