O comando do Windows Move exclui o arquivo somente após a conclusão bem-sucedida?

6

Esta pode ser uma pergunta estúpida, mas eu estou errando do lado da cautela aqui.

Se eu estiver usando arquivos de linha de comando / lote do Windows para Mover um arquivo de um servidor para outro e houver uma falha de rede, o que acontecerá com o arquivo original?

Eu diria que ele permanece intacto até ser totalmente movido e, em seguida, excluído, mas preciso ter certeza. O meu receio é que elimine bytes à medida que são movidos, o que seria ruim.

Se esse não for o caso, existe uma maneira melhor do que copiar o arquivo e Del a formatação após a conclusão da cópia?

Obrigado pela sua ajuda.

EDIT: Suponho que super usuário teria sido melhor. Isso faz parte de um trabalho iniciado pelo código, então meu primeiro pensamento foi vir aqui.

    
por IronicMuffin 25.11.2009 / 17:38

4 respostas

13

Movendo-se no mesmo disco lógico: O Windows simplesmente move as referências do sistema de arquivos atomicamente. Muito rápido.

Movendo-se em diferentes discos lógicos: O Windows executa uma cópia de um disco para o outro e, em seguida, exclui o arquivo do primeiro disco, assim que tiver êxito.

    
por 25.11.2009 / 17:40
2

Sim, exclui apenas o arquivo depois que ele é copiado.

    
por 25.11.2009 / 17:40
2

Você está correto - o Windows Move é excluído somente após uma cópia bem-sucedida.

    
por 25.11.2009 / 17:41
1

Você está correto, o Windows copia e exclui. Não faria sentido do ponto de vista do sistema de arquivos remover pedaços quando eles são copiados quando a exclusão final precisa ser removida do cabeçalho do arquivo.

Se você quiser testar, pode sempre tentar enviar um arquivo grande pela rede e puxar o cabo parcialmente.

    
por 25.11.2009 / 17:41