copy | move arquivos esparsos no NTFS com o Windows

5

Como posso copiar ou mover um arquivo esparso de um volume NTFS para outro volume NTFS, mantendo a dispersão usando as ferramentas nativas incluídas no Windows? Se não há como fazer isso com as ferramentas nativas, então o que é um aplicativo gratuito de um fornecedor confiável que fará isso? Certamente há um comando de prompt de comando ou comando powershell que fará isso.

Eu tenho um arquivo que representa 250GiB que está ocupando 20GiB de espaço em disco e eu gostaria que ele continuasse ocupando apenas 20GiB quando eu movê-lo. Obrigado.

    
por Michael Yasumoto 12.10.2013 / 03:58

3 respostas

1

Você não pode fazer isso com ferramentas padrão do Windows.

Mas existe um utilitário. Vá para o link , faça o download e descompacte o arquivo sparse.zip.

Em seguida, execute a partir da linha de comando:

cs.exe c:\src.dat d:\dest.dat

O arquivo será copiado preservando a dispersão.

    
por 01.10.2015 / 17:50
0

No lado do Windows, acabei usando o WinHex para fazer isso, ou melhor, o forense X-Ways Forensics. A GUI tem uma opção nos menus para copiar arquivos esparsamente.

    
por 02.10.2015 / 05:22
0

Use o Cygwin e monte o sistema de arquivos com a opção sparse . Em seguida, os comandos Unix que suportam arquivos esparsos, como cp , dd conv=sparse e rsync -S , criarão ou copiarão o arquivo como um arquivo esparso. Como seria de esperar, o simples redirecionamento de saída não criará um arquivo esparso.

Veja a seguinte demonstração. $ mount -o sparse D: /tmp/mnt mount: warning - /tmp/mnt does not exist. $ cd /tmp/mnt $ dd conv=sparse if=/dev/zero seek=10000 of=sparse count=1 1+0 records in 1+0 records out 512 bytes copied, 0.0101909 s, 50.2 kB/s $ ls -lh sparse -rw-rw-r--+ 1 dds None 4.9M Sep 5 13:05 sparse $ du -h sparse 0 sparse $ cp sparse sparse-cp $ dd conv=sparse if=sparse of=sparse-dd 10001+0 records in 10001+0 records out 5120512 bytes (5.1 MB, 4.9 MiB) copied, 0.0500354 s, 102 MB/s $ rsync -S sparse sparse-rsync $ cat sparse >sparse-fail-cat $ cat sparse | dd conv=sparse of=sparse-cat-dd $ ls -lh sparse* -rw-rw-r--+ 1 dds None 4.9M Sep 5 13:05 sparse -rw-rw-r--+ 1 dds None 4.9M Sep 5 13:15 sparse-cat-dd -rw-rw-r--+ 1 dds None 4.9M Sep 5 13:06 sparse-cp -rw-rw-r--+ 1 dds None 4.9M Sep 5 13:11 sparse-dd -rw-rw-r--+ 1 dds None 4.9M Sep 5 13:19 sparse-fail-cat ----rw----+ 1 dds None 4.9M Sep 5 13:06 sparse-rsync $ du -h sparse* 0 sparse 0 sparse-cat-dd 0 sparse-cp 0 sparse-dd 4.9M sparse-fail-cat 0 sparse-rsync

    
por 05.09.2017 / 12:21