俞木發(fā)
稀疏文件是應(yīng)用程序生成的一種特殊文件,這類文件尺寸可以非常大,主要由“00”構(gòu)成的,實際占用很少的磁盤空間,但是會向系統(tǒng)聲明其所需要的總空間。稀疏文件可以通過系統(tǒng)自帶的fsutil命令創(chuàng)建。例如,以管理員身份啟動命令提示符,輸入命令“fsutil file createnew d:\system157286400”,回車執(zhí)行后即可在D盤(分區(qū)需采用N T F S 格式)中創(chuàng)建一個名為system的文件。輸入并執(zhí)行命令“dir d:”可以看到其大小為150MB(圖1)。
命令解釋:
“157286400 ”表示創(chuàng)建大小為157286400字節(jié)(即1 5 0 M B 的文件,1MB=1048576B)的文件,如果要創(chuàng)建其他大小的文件,請自行換算。
繼續(xù)輸入并執(zhí)行下列的命令(命令尾部的冒號及其后面的內(nèi)容為注釋,實際操作時不用輸入)(圖2):
fsutil s parse s etflag d :\system : 可以將該文件轉(zhuǎn)換為稀疏文件
fsutil sparse queryflag d:\system :查看文件是否為稀疏文件
fsutil sparse setrange d:\system 0157286400 :將文件稀疏范圍設(shè)置為0~157286400字節(jié),即將150MB空間全部設(shè)置為稀疏空間。
現(xiàn)在打開D盤,右擊system并選擇“屬性”,在屬性窗口中可以看到該文件的大小為150MB,但是占用的空間卻顯示為0字節(jié),這正是稀疏文件的典型特征(圖3)。這里需要注意的是,只有在NTFS格式的分區(qū)中創(chuàng)建的稀疏文件才不會占用創(chuàng)建數(shù)值大小的空間。
對于稀疏文件內(nèi)容則可以借助DiskGenius軟件來查看。啟動程序后打開D盤,在右側(cè)的窗格中找到并雙擊system文件,在打開的窗口中可以看到文件數(shù)據(jù)都是顯示為“00”(圖4)。
通過上文的介紹了解了稀疏文件的含義及其創(chuàng)建的過程,在實際使用中就可以利用稀疏文件來為一些操作服務(wù)。如前言所述的可用空間管理案例,由于移動硬盤經(jīng)常要借給同事使用,現(xiàn)在可以借助稀疏文件來更好地對可用空間進(jìn)行個性化管理。
1確定分區(qū)可用空間的數(shù)值假設(shè)移動硬盤的盤符為D,首先將其回收站中的文件清空,接著查看移動硬盤的可用空間,如本例數(shù)值是151MB。
2快速創(chuàng)建指定大小的稀疏文件啟動記事本程序并新建一個批處理文件1.bat,放置在D:\備用,代碼如下:
set free1=1048576
set /p f ree2=請輸入可用空間倍數(shù)(MB):
set /a free3=%free2%*%free1%
fsut i l file createnew d:\ system%free3%
fsutil sparse setflag d:\system
Attrib +h +s d:\system
這里可以使用稀疏文件盡可能地占用移動硬盤的可用空間,如設(shè)置稀疏文件占用150MB。運行上述批處理后在打開的窗口中輸入150,回車即可(圖5)。
此時再打開D盤查看創(chuàng)建文件前后的可用空間并加以比較,可以看到創(chuàng)建稀疏文件后可用空間就只剩余1.8MB(Windows對容量計算會略有誤差)(圖6)。
3快速釋放可用空間
為了方便自己使用,繼續(xù)創(chuàng)建一個批處理文件2.bat,也放置在D:\備用,代碼如下:
set free11=1048576
set /p free22=請輸入需要使用空間倍數(shù)(MB):
set /a free4=%free22%*%free11%
fsutil sparse setrange d:\system 0 %free4%
在以后如果需要使用其中的10 0MB可用空間存儲文件時,運行2.bat后輸入100,那么稀疏文件的“0~104857600”字節(jié)空間(即100MB)就變?yōu)榭捎玫拇鎯臻g(圖7)。
再次打開D盤的“屬性”窗口,可以看到此時的可用空間已經(jīng)變?yōu)?01MB了(含之前剩余的1MB)(圖8)。這樣自己需要使用多少空間就釋放多少,釋放完成后如果要重新填滿空間,可以根據(jù)剩余空間大小,刪除“d:\system”后再次運行1.bat,重新填充即可。
從上面的操作可以看到,本文介紹的方法和只是在移動硬盤中簡單地存儲無用文件來填充空間操作不同,通過fsutil命令可以在極短的時間內(nèi)快速創(chuàng)建指定大小的“稀疏文件”。如有需求,可以在1秒內(nèi)創(chuàng)建100GB大小的文件來填充空間,并可以快速設(shè)置稀疏區(qū)域來釋放可用空間,非常適合對可用空間存儲有特定需求的用戶使用。