Como restaurar uma grande quantidade de arquivos da lixeira?

4

Um software de sincronização de arquivos ficou sem controle e removeu a maioria dos meus arquivos pessoais. Felizmente eles foram encontrados na lixeira. Agora, o problema é que não posso restaurá-los porque há muitos (mais de 30.000) arquivos para serem restaurados.

Quando eu cliquei no botão "restaurar todos os itens", o explorador congelou por um tempo, e depois disso uma janela pop-up dizia "preparando para mover arquivos" apareceu e pendurou em "0 item encontrado".

Eu tentei restaurar cinco páginas de arquivo (aproximadamente 100) por vez e essa tentativa foi bem-sucedida. Mas é impossível para mim restaurar manualmente isso.

Excluí permanentemente todos os itens da lixeira que já estavam lá antes do acidente, portanto, cada arquivo é único agora e não há risco de duplicatas interromperem o processo se eu executar um lote ou algo assim. Na verdade, posso tentar escrever um programa sozinho, talvez haja referência a isso no StackOverflow, mas não posso arriscar destruir os arquivos completamente, então essa não é a opção, pelo menos não por enquanto.

Alguma ideia? Agradecemos antecipadamente.

    
por Todd J. York 27.02.2017 / 12:32

2 respostas

2

Este método deve obter todos os arquivos fora da Lixeira, mas esteja ciente de que você terá que colocá-los de volta onde eles pertencem, se você precisar que eles estejam em um diretório específico.

1.) Abra o prompt de comando como administrador, execute o comando wmic useraccount get name,sid , copie o SID para seu usuário, agora no mesmo prompt de comando execute cd \$Recycle.Bin\%SID% substituindo SID pelo SID que você acabou de copiado para a sua área de transferência (mas deixe o% em ambos os lados, é uma pasta oculta e requer que eles sejam deixados no nome).

2.) Agora copie tudo nessa pasta para uma pasta vazia de sua escolha com xcopy /e .\* C:\path\to\your\empty\folder\ mas esteja avisado, isso copiará todos os 30000 arquivos através do prompt de comando e provavelmente demorará um pouco. Depois disso, verifique o prompt de comando para certificar-se de que nenhum erro foi gerado e verifique a pasta para a qual você copiou tudo e certifique-se de que esteja tudo lá. Agora você deve estar livre para esvaziar sua lixeira com segurança.

    
por 27.02.2017 / 13:24
0

Eu finalmente descobri como lidar com esse problema, usando C #.

Desculpe por não fornecer uma versão compilada, mas este código é específico do idioma (específico da versão do windows), e é intencionado para ser usado por pessoas que o entendem apenas.

Aqui está o código hospedado no Gist .

Funciona muito devagar ... mas o bom é que funciona. Melhor que nada. Eu tenho tempo para esperar.

Referência:

por 28.02.2017 / 06:53