Sdelete 语法错误?

Sdelete 语法错误?

有人知道我为什么不能跑步吗删除删除驱动器 C 上的可用磁盘空间?在驱动器 D 上有效。

我已经尝试了 1.61 和 1.51 两个版本,并且都给出了相同的结果:

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%

当我尝试在驱动器 C: 上运行完全相同的命令时,发生了以下情况:

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.

我知道密码器,但我想让 sDelete 正常工作。

答案1

假设您已经以管理员身份运行该程序(就像我收到此消息时一样)。

如果你看一下 sdelete 的源代码(我在这里找到了),您可以看到它正在尝试创建一个临时文件,以用于归零过程。

_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;   
}   

就我而言,TEMP 环境变量设置为“C:\Users\Username\AppData\Local\Temp\1”,并且该目录不存在。

要检查 TEMP 的环境变量,请打开 CMD 提示符并输入设定温度。这将打印出该环境变量的值。

就我而言,我正在准备将操作系统作为黄金映像模板。我刚刚清理了 Temp 文件夹,准备将 C: 驱动器清零并重新精简。我重新创建了丢失的目录,一切按预期运行。

答案2

可以通过sdelete以管理员身份运行(或启动命令提示符)来解决此问题。不要双击命令提示符图标 (cmd.exe),而是右键单击它并选择“以管理员身份运行”。

答案3

错误消息可能会令人困惑。对我来说,这是因为临时目录不存在...

创建目录 %temp%

成功了

相关内容