fsutil sparse
Manages sparse files. A sparse file is a file with one or more regions of unallocated data in it.
A program sees these unallocated regions as containing bytes with a zero value and that there's no disk space representing these zeros. When a sparse file is read, allocated data is returned as stored, and unallocated data is returned, by default, as zeros, in accordance with the C2 security requirement specification. Sparse file support allows data to be deallocated from anywhere in the file.
Syntax
fsutil sparse [queryflag] <filename>
fsutil sparse [queryrange] <filename>
fsutil sparse [setflag] <filename>
fsutil sparse [setrange] <filename> <beginningoffset> <length>
Parameters
Parameter | Description |
---|---|
queryflag | Queries sparse. |
queryrange | Scans a file and searches for ranges that may contain nonzero data. |
setflag | Marks the indicated file as sparse. |
setrange | Fills a specified range of a file with zeros. |
<filename> |
Specifies the full path to the file including the file name and extension, for example C:\documents\filename.txt. |
<beginningoffset> |
Specifies the offset within the file to mark as sparse. |
<length> |
Specifies the length of the region in the file to be marked as sparse (in bytes). |
Remarks
All meaningful or nonzero data is allocated, whereas all non-meaningful data (large strings of data that is composed of zeros) is not allocated.
In a sparse file, large ranges of zeroes may not require disk allocation. Space for nonzero data is allocated as needed when the file is written.
Only compressed or sparse files can have zeroed ranges known to the operating system.
If the file is sparse or compressed, NTFS may de-allocate disk space within the file. This sets the range of bytes to zeroes without extending the file size.
Examples
To mark a file named sample.txt in the c:\temp directory as sparse, type:
fsutil sparse setflag c:\temp\sample.txt