|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2006-03-22, 04:59 AM | #1 |
榮譽會員
|
NtfsStreamsEditor (Ntfs資料流處理工具)
磁碟空間突然變少
------------------------------------------------------------------------ 請問各位大大,我上禮拜日才把我的電腦重灌好而已,那時已把要裝的軟體都裝好了,一看C槽還有2G多,但是過沒幾天就C槽就剩下20~30MB這是為啥?中毒嗎?還是怎樣呢?我非常確定我從網路下載下來的東西都存在別槽,我也有用P2P軟體,東西的下載路徑也是在別槽,所以想請教一下知道怎解決的人,謝謝 ....DataMystic.DirSize.v4.7.1.Cracked-UnderPl DirSize是一個自動產生磁牒空間使用情況、目錄列表的指令行工具。 ============================ FolderSizes 3.5.0.1 【軟體名稱】:FolderSizes 3.5.0.1 【軟體類型】:硬碟工具 【官方網站】:http://www.foldersizes.com/ 【軟體介紹】: 窗口管理的確是一個很乏味的工作,如硬盤空間怎麼利用,甚至用瀏覽器,只是為了查找每一個文件夾消耗了多少磁盤空間這些都是瑣碎的雜事。FolderSizes告訴你硬盤空間真實的使用情況,它可以迅速有效地分析獨立的文件夾或者整個硬盤的所佔的空間,並通過直觀的界面告訴你結果。 FolderSizes提供預約的,交互式磁盤空間分析體驗,你必須親自體會一下。 不僅僅是許多外觀很好的報告,FolderSizes允許你可視化觀察磁盤空間使用情況。 桌面PC和服務器很快會被大量無用、臨時或重複文件佔據。在用戶瞭解這些之前,他們會耗盡硬盤空間,而備份數據將浪費大量的時間,並且用戶很難在需要的時候拿上得到需要的數據。這時候就需要一個可視化的、交互式的用具幫助你管理硬盤空間,你需要FolderSizes這個得獎的、具有網絡支持的硬盤空間分析工具。它能迅速隔離那些碩大、老舊、臨時和重複的文件,顯示硬盤空間被各類型的文件或擁有者的使用情況。所有這些均支持命令行調用和圖形用戶界面。 FolderSizes 是一款磁盤管理工具,程序可以幫助你快速的查看並統計硬盤中的各個分區所佔用的空間大小以及文件夾和文件的大小,並給出詳細的統計列表!可以讓你快速的找到自己硬盤空間越來越少的"罪魁禍首"! 平時,很多人都不會關心自己硬盤中文件的分佈情況,只是不斷安裝和刪除文件,直到硬盤某一分區「飽和」、垃圾成堆,再也容不下從網上「Down」下來的好東東,才會想起去查看磁盤,隨後便是一頓大砍大刪。這樣「暴飲暴食」可不好,如果你細心一些,平日多關心一下硬盤各分區文件的分佈情況,定期為磁盤「減減肥」,它就會永遠體態輕盈。 FolderSizes是一款功能強大的磁盤管理工具,有了它你可以隨時監視硬盤中文件的分佈情況,瞭解各個文件的狀況。它不但能夠圖形化顯示磁盤上各類文件的信息,還能迅速隔離那些碩大、老舊、臨時和重複的文件,顯示硬盤空間被各類型的文件或擁有者的使用情況,並對文件進行編輯、刪除、查復操作等。 查看磁盤信息 啟動軟件,其主界面共分為4個子窗口(如圖1所示)。其中,上面的兩個子窗口類似於資源管理器,分別是文件夾窗口和文件列表窗口。左側下面的窗口顯示當前硬盤各個分區的使用情況,單擊該窗口上邊的「Graph」標籤項可以條形圖的形式顯示分區使用情況。 查找重複的文件 FolderSizes可以幫我們輕鬆地瞭解當前分區中有多少大文件、有多少老文件、有多少臨時文件、有多少重複的文件……下面我們就以查找C分區中的重複文件為例來瞭解一下操作過程。 查找同一類型的文件 如果你想瞭解當前分區中有哪些類型的文件,其中哪一類型文件最多,可以借助「Files report Generator」對話框,查看時在該對話框左側類別中選擇「Files types」項下的「By Sizes」命令,就可以在右側顯示出各個類型的文件佔用磁盤的情況(如圖3)。在默認的情況下顯示最大的前十個類型的文件,如果要想查看更多類型的文件,可以在下面的「Show XX largest file」項中輸入要顯示的文件類型的個數,隨後單擊「Apply」。 通過以上的操作,可以查到很多很長時間沒有用過的程序,這時單擊工具欄中的「Add/Remove」按鈕程序會自動啟動系統中「添加/刪除」程序,在該窗口中卸載不需要的程序。如果想保留某些老的文件或程序,在此單擊「Folderzip」命令,程序會將指定的文件壓縮成ZIP壓縮包進行保存,從而減少了硬盤的使用空間。 常常發現,沒存多少資料,硬碟空間卻大幅縮小....尤其是下BT 及 eMule時 為了要找出兇手,以往必須一個一個目錄按右鍵查內容看總容量 很費時間,又費工 發現一個好用,又免費的工具,Scanner 可以看到目前硬碟每個目錄的所佔空間比例及大小 【軟體預覽】: http://www.foldersizes.com/download-...izes/index.htm NtfsStreamsEditor (Ntfs資料流處理工具) 圖片: NtfsStreamsEditor (Ntfs資料流處理工具) http://www.freewebs.com/okwin/ NtfsStreamsEditor V1.0 1.簡介 NtfsStreamsEditor是對NTFS分區的文件的資料流進行編輯,移除, 附加,制作備份和還原的強大工具。 注意:沒有任何明確或暗示形式的擔保。你使用要自己承擔風險。 不管是作者還是作者的代理,都沒有責任對使用或誤用本軟體時 的資料遺失、損壞、利益損失或其它任何形式的損失負責。 2.關於NTFS分區的資料流 NTFS分區的資料流是一個子文件系統允許額外的資料連線到一個 特別的文件中,現在的FAT/FAT32文件系統格式是不支持資料流體格式的。 3.關於NTFS文件系統中的資料流問題 參見http://www.xfocus.net/articles/200103/81.html 4.FAQ Q:能否建立C:\:.:$DATA或者C:\:www.txt:$DATA這樣的流,並能移除嗎? A:可以附加或者移除,但是無法編輯。請小心可能的危害。 5.部分核心源碼 type IO_STATUS_BLOCK=record Status:INTEGER; Information:ULONG; end; PIO_STATUS_BLOCK=^IO_STATUS_BLOCK; PFILE_STREAM_INFORMATION=^FILE_STREAM_INFORMATION; FILE_STREAM_INFORMATION=packed record NextEntry:ULONG; NameLength:ULONG; Size:LARGE_INTEGER; AllocationSize:LARGE_INTEGER; pName:WORD; end; FILE_INFORMATION_CLASS=INTEGER; TNtQueryInformationFile=function( FileHandle:THANDLE; IoStatusBlock:PIO_STATUS_BLOCK; FileInformation:Pointer; Length:ULONG; FileInformationClass:FILE_INFORMATION_CLASS):INTEGER;stdcall; PTNtQueryInformationFile=^TNtQueryInformationFile; TRtlNtStatusToDosError=function(Status:INTEGER):ULONG;stdcall; PTRtlNtStatusToDosError=^TRtlNtStatusToDosError; PIO_APC_ROUTINE=^IO_APC_ROUTINE; IO_APC_ROUTINE=procedure( ApcContext:Pointer; IoStatusBlock:PIO_STATUS_BLOCK; Reserved:ULONG); procedure GetAFileInfo(filename:string;pTRR:TReturnResult); var pfilename:array[0..MAX_PATH]of widechar; fileHandle:Thandle; streamInfoStructMemPtr:Pointer; streamInfoStructPtr:PFILE_STREAM_INFORMATION; streamInfoSize:ULONG; streamName:array[0..MAX_PATH]of wchar; pstreamsInfo:PStreamInfo; heapHandle:THandle; ioStatus:IO_STATUS_BLOCK; status:Integer; tempfilesize:ULONG; begin //initial pTRR.pRR.filename:= filename; pTRR.pRR.errorinfo:=EI_UnKnown; pTRR.pRR.myList.Clear; //open file StringToWidechar(filename, pfilename,MAX_PATH); fileHandle:=CreateFileW(pfilename, GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE,nil, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS,0); if (fileHandle=INVALID_HANDLE_VALUE) then begin pTRR.pRR.errorinfo:=EI_F_CanNotOpenFile; CloseHandle(fileHandle); Exit; end; pTRR.pRR.errorinfo:=EI_F_NoStreams; tempfilesize:=GetFileSize(fileHandle,nil); if INVALID_FILE_SIZE=tempfilesize then begin pTRR.pRR.filelength:=0; end else pTRR.pRR.filelength:=tempfilesize; streamInfoSize:=$4000; heapHandle:=HeapCreate(HEAP_NO_SERIALIZE,streamInfoSize,0); streamInfoStructMemPtr:=HeapAlloc(heapHandle,HEAP_ZERO_MEMORY,streamInfoSize); status:=STATUS_BUFFER_OVERFLOW; while(status=STATUS_BUFFER_OVERFLOW)do begin status:=NtQueryInformationFile(fileHandle, @ioStatus, streamInfoStructMemPtr, streamInfoSize, FILESTREAMINFOMATION); if(status=STATUS_BUFFER_OVERFLOW)then begin streamInfoSize:=streamInfoSize+$4000; if (streamInfoSize>$3200000) then begin pTRR.pRR.errorinfo:=EI_F_CanNotGetStreamsInfo; HeapFree(heapHandle,HEAP_NO_SERIALIZE,streamInfoStructMemPtr); CloseHandle(filehandle); Exit; end; HeapReAlloc(heapHandle,HEAP_ZERO_MEMORY,streamInfoStructMemPtr,streamInfoSize); end else begin break; end; end;//while end /// if success if((status>=0) and (ioStatus.Information<>0))then begin streamInfoStructPtr:=streamInfoStructMemPtr; while(TRUE)do begin Move(streamInfoStructPtr^.pName,streamName,streamInfoStructPtr^.NameLength); streamName[streamInfoStructPtr^.NameLength div 2]:=#0; if not (WideCompareText(streamName,DEFAULTSTREAMNAME)=0)then begin new(pstreamsInfo); pstreamsInfo^.streamname:= WidechartoString(streamName); pstreamsInfo^.streamsize:=streamInfoStructPtr.Size.QuadPart; pTRR.pRR.myList.Add(pstreamsInfo); end; if (streamInfoStructPtr^.NextEntry=0) then break; streamInfoStructPtr:=Pointer(DWORD(streamInfoStructPtr)+streamInfoStructPtr^.NextEntry); end; pTRR.pRR.errorinfo:=EI_F_GetStreamsInfoOK; end else begin if (status<0) then begin pTRR.pRR.errorinfo:=EI_F_NoStreams; end; end; /// end if success HeapFree(heapHandle,HEAP_NO_SERIALIZE,streamInfoStructMemPtr); CloseHandle(filehandle); end; |
__________________ |
|
送花文章: 3,
|