Como posso induzir um código de retorno diferente de zero do chkdsk.exe?

1

Estou escrevendo um utilitário de linha de negócios que, entre outras tarefas, executará o chkdsk.exe no modo somente leitura em discos rígidos de dados secundários do NTFS. Para testar completamente meu utilitário, preciso induzir um estado em um desses discos, que o chkdsk detectará como um erro ... de preferência de uma maneira que não destrua os dados existentes no disco. Qual é a maneira mais fácil de fazer isso?

Editar:

Idealmente, gostaria de criar um arquivo de texto fictício em uma dessas unidades e, depois, desordenar esse arquivo de forma que o chkdsk ache que ele precisa ser corrigido. Não tenho certeza de como desordenar um arquivo.

    
por Jared 07.05.2012 / 21:53

2 respostas

2

Você pode simplesmente fornecer uma linha de comando inválida:

c:\>chkdsk FailPlease
The drive, the path, or the file name is not valid.
c:\>echo %ERRORLEVEL%
3
    
por 07.05.2012 / 22:14
1

Eu acho que você quer algo que possa montar sistema de arquivos como uma unidade de um estado corrompido (ou pseudo-corrompido). A primeira coisa que me vem à mente é TrueCrypt

Agora, seu script pode fazer uma cópia da imagem, montar a cópia, permitir que o chkdsk tente consertar e, em seguida, desfaça sua imagem.

    
por 07.05.2012 / 22:13