Как создать нулевой разреженный файл 1G в Windows?

8365
sabgenton

В Linux:

$ dd if=/dev/null of=mysparse seek=1G count=0 $ du -b mysparse 549755813888 mysparse $ du -B1 mysparse 0 mysparse 

В Windows я играл с Fsutil, но я не могу получить размер на диске меньше, чем размер в свойствах файла.

8

3 ответа на вопрос

14
Mehrdad
FSUtil File CreateNew temp 0x100000 FSUtil Sparse SetFlag temp FSUtil Sparse SetRange temp 0 0x100000 
ты бежал впереди меня ... в любом случае ты прав. bubu 12 лет назад 0
3
opal

Может быть, это вам поможет: «SparseChecker» - управляет разреженными файлами в Windows NTFS. Он позволяет работать с файлами, а не с отдельными блоками файлов, как это делает «fsutil».

1
bubu

То, что @Mehrdad сказал, правильно.

Однако все, что вы записываете в файл (даже с нулевыми диапазонами), будет считаться данными для операционной системы (и, следовательно, выделено пространство), и только FSCTL_SET_ZERO_DATA () позволит записывать нули, не занимающие места.

fsutil sparse setflag [file]

позволит установить файл как разреженный файл.