如何删除稀疏文件属性

如何删除稀疏文件属性

关于如何删除 sparsefile 文件属性的答案似乎围绕以下方面:

fsutil sparse setflag <filename> 0|1

这对我不起作用。

我在 Windows 7 Pro 32 位 NTFS 上,以管理员身份使用提升的命令提示符。

根据其他各种答案,我最后一次失败的原因如下:

C:\_DELETEME>fsutil file createnew test.nul 1048576
File C:\_DELETEME\test.nul is created

C:\_DELETEME>dir
 Volume in drive C is Default
 Volume Serial Number is 4CC9-A1B7

 Directory of C:\_DELETEME

04/11/2015  08:16    <DIR>          .
04/11/2015  08:16    <DIR>          ..
...
04/11/2015  08:16         1,048,576 test.nul
...

C:\_DELETEME>fsutil sparse queryflag .\test.nul
This file is NOT set as sparse

C:\_DELETEME>fsutil sparse setflag .\test.nul

C:\_DELETEME>fsutil sparse queryflag .\test.nul
This file is set as sparse

C:\_DELETEME>fsutil sparse setrange .\test.nul 0 1048576

C:\_DELETEME>fsutil sparse queryflag .\test.nul
This file is set as sparse

C:\_DELETEME>fsutil sparse setflag .\test.nul 0
Usage : fsutil sparse setflag <filename>
   Eg : fsutil sparse setflag C:\Temp\sample.txt

C:\_DELETEME>fsutil sparse queryflag .\test.nul
This file is set as sparse

我迄今为止看到的所有证据似乎都表明 setflag 不接受除文件(路径)之外的任何参数,例如:

https://technet.microsoft.com/en-gb/library/cc788025.aspx

C:\_DELETEME>fsutil sparse setflag .\test.nul 0
Usage : fsutil sparse setflag <filename>
   Eg : fsutil sparse setflag C:\Temp\sample.txt

是否有人知道如何删除/取消设置此属性,最好是通过编程(我希望使用 sdelete 自动执行 P$ 脚本,sparsefiles 似乎需要很长时间)?

或者您能猜出我犯了小学生才会犯的错误吗?

答案1

EndUzr,您尝试的方法应该有效。我能够使用您在 Windows 8.1 x64 中使用的命令序列成功将文件设置为非稀疏文件。

C:\Temp\test>fsutil sparse setrange .\test.nul 0 1048576

C:\Temp\test>fsutil sparse queryflag .\test.nul
This file is set as sparse

C:\Temp\test>fsutil sparse setflag .\test.nul 0

C:\Temp\test>fsutil sparse queryflag .\test.nul
This file is NOT set as sparse

我在将文件设置为非稀疏时遇到的挑战是将它们设置为只读(attrib -R <file>)或从互联网下载(PS> Unblock-File <file>)时。但是,这似乎不是您的问题。您是否及时更新了 Windows 更新?

答案2

刚刚遇到了设置了 RP 属性的文件,就像您一样好奇。我像往常一样设置了非 R 属性。然后找到了这个查看 P 属性的线程。我将一个 RP 文件复制到 C:\ 的根目录,然后它就变成了只有属性 A,所以文件在被复制时丢失了 P 属性。对我来说,这是可行的方法,因为虽然我对 dos 等没问题,但我喜欢简单。问候。Win7/64 位。

相关内容