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

13

В Linux:

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

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

sabgenton
источник

Ответы:

19
FSUtil File CreateNew temp 0x100000
FSUtil Sparse SetFlag temp
FSUtil Sparse SetRange temp 0 0x100000
user541686
источник
2

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

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

fsutil sparse setflag [file]

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

бубу
источник