Erro de sintaxe Sdelete?

1

Alguém sabe por que não consigo executar sDelete para excluir o espaço livre em disco dirigir C? Ele funciona na unidade D.

Eu tentei as versões 1.61 e 1.51 e ambas fornecem os mesmos resultados:

SDelete - Secure Delete v1.51
Copyright (C) 1999-2005 Mark Russinovich
Sysinternals - www.sysinternals.com

SDelete is set for 1 pass.
Cleaning free space on D:: 2%

E quando tento executar exatamente o mesmo comando na unidade C: é o que acontece:

SDelete - Secure Delete v1.51
Copyright (C) 1999-2005 Mark Russinovich
Sysinternals - www.sysinternals.com

SDelete is set for 1 pass.
Cleaning free space on C:: 0%Could not create free-space cleanup file:
The filename, directory name or volume label syntax is incorrect.

Eu sei sobre Cipher.exe , mas gostaria de fazer o sDelete funcionar.

    
por Fate Averruncus 12.12.2014 / 19:32

3 respostas

1

Assumindo que você já esteja executando o programa como Administrador (como eu recebi quando recebi esta mensagem).

Se você der uma olhada no código fonte do sdelete ( eu achei aqui ), você pode ver que está tentando criar um arquivo temporário para usar no processo de zerar.

_stprintf( tempFileName, _T("%sSDELTEMP"), DrivePath );   
hTempFile = CreateFile( tempFileName, GENERIC_WRITE,    
                0, NULL, CREATE_NEW,    
                FILE_FLAG_NO_BUFFERING|FILE_FLAG_SEQUENTIAL_SCAN|   
                FILE_FLAG_DELETE_ON_CLOSE|FILE_ATTRIBUTE_HIDDEN, NULL );   

if( hTempFile == INVALID_HANDLE_VALUE ) {   

    _tprintf( _T("Could not create free-space cleanup file: "));   
    PrintWin32Error( GetLastError());   
    return FALSE;   
}   

No meu caso, a variável de ambiente TEMP foi definida como "C: \ Usuários \ Nome do usuário \ AppData \ Local \ Temp \ 1" e esse diretório não existia.

Para verificar sua variável de ambiente para TEMP, abra um prompt do CMD e digite SET TEMP . Isso imprimirá o valor dessa variável de ambiente.

No meu caso, eu estava preparando o sistema operacional como um modelo de imagem de ouro. Eu tinha acabado de limpar a pasta Temp e estava indo para zerar e redefinir a unidade C :. Eu recriou o diretório ausente e tudo funcionou como esperado.

    
por 02.06.2015 / 16:04
0

Isso pode ser resolvido executando sdelete (ou o Prompt de Comando iniciado) como administrador. Em vez de clicar duas vezes no ícone do prompt de comando (cmd.exe), clique com o botão direito e selecione "Executar como administrador".

    
por 10.08.2016 / 05:12
0

A mensagem de erro pode ser confusa. Para mim, era o diretório temporário que não existia ...

mkdir %temp%

fez o truque

    
por 18.01.2017 / 08:57