Cópia de arquivo segura no Delphi

3

Recentemente, adicionei duas unidades WD Caviar Black SATA de 2 TB a um gabinete externo com USB 2.0. Desde então, eu tenho que lidar com a corrupção de arquivos ocasionais quando copio arquivos com o Explorer da minha unidade C: local para as unidades externas. Eu acabo com arquivos que não podem mais ser lidos, ou com arquivos que podem ser lidos, mas não podem ser copiados quando estão em um dos HDs externos. Todas as unidades foram testadas e estão bem. Fiz algumas pesquisas agora e encontrei várias dicas na web que podem ser um problema com o shell do meu Vista Home Premium 32 bits (todas as atualizações aplicadas).

Para contornar essa corrupção de arquivos, estou procurando a maneira mais segura de copiar arquivos de um sistema de arquivos NTFS para outro (preservando todas as propriedades do arquivo), incluindo uma verificação CRC32 - se possível, sem envolver o Shell. Alguém pode me apontar para um trecho de código que mostra como fazer isso no Delphi 2007 Pro?

    
por Phil 14.04.2011 / 02:56

3 respostas

3

Suas unidades provavelmente estão formatadas com NTFS.

Uma unidade só pode ser formatada para NTFS se não estiver marcada para "remoção rápida".

O que significa que você deve desligar corretamente sua máquina antes de desligar ou remover sua unidade NTFS.

Para cópia, você pode usar o RoboCopy; ele não tem uma verificação, mas tem um modo de backup muito rápido (que você pode usar quando estiver conectado como administrador e for elevado ao token de administrador).

XXCOPY tem verificação, e uma boa comparação RoboCopy / XXCOPY é aqui .

Para meus backups, eu uso um sistema RAID com verificação ativa. Isso significa que regularmente verifica todos os volumes RAID para integridade. Não é barato, mas vale o dinheiro.

    
por 14.04.2011 / 03:51
1

Caso alguém esteja interessado: Encontrei um código Delphi interessante no site do Earl F. Glynn em

link

    
por 15.04.2011 / 18:49
0

A corrupção do arquivo desapareceu desde que eu reativei o UAC no meu sistema. Eu li relatos sobre isso antes (embora fossem muito vagos), e parece que funcionou. Obrigado novamente por todas as respostas! Muito apreciado.

    
por 30.04.2011 / 18:26