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