vb 中用kill來刪除檔案會使硬碟產生 磁碟碎片 的嗎

2021-12-25 17:51:27 字數 965 閱讀 3804

1樓:

要產生碎片...

先跟你講一下系統儲存資料的方式。通俗的來說,電腦,包括大部分手機,都是將資料和檔名單獨存放,刪除檔案實際上只是刪除掉了檔名,讓系統判定不存在這個檔案,而放資料的地方則可以被其他資料所覆蓋。這就是為什麼許多檔案刪除之後仍然可以恢復的原因,只要在磁碟扇區中原資料未遭到新資料的重寫,那麼100%恢復原檔案都是有可能的。

所以這些是造成磁碟碎片的一方面,同樣也有寫檔案是呼叫多個磁碟扇區來完成,這樣在讀檔案時使硬碟損耗較大,使用碎片整理工具實際上是將同個檔案的資料移動到相鄰扇區,清除掉沒用的碎片。

所以無論是刪除檔案,還是kill,都會造成碎片。現在的檔案粉碎工具(也就是刪除後無法再恢復檔案)就能夠將扇區上刪掉的檔案資料清空,減少碎片產生。

我曾經看過簡單的方法實現檔案粉碎的,就是先把檔案資料變為全是空白,然後再逐個刪掉。再kill掉檔案。當然這個方法肯定沒現在的檔案粉碎工具先進。但是理論上也是可行的。

2樓:匿名使用者

vb中用kill刪除檔案和在「我的電腦」中刪除檔案的效果一樣。不會產生更多的碎片。

磁碟碎片的產生是因為,作業系統對硬碟上檔案的管理並沒有一個完美高效的演算法,所以自然會產生碎片。這個問題大家不太容易解決,不過也不需要解決。

3樓:匿名使用者

當然不會,就像在「資源管理器」等windows應用程式中刪除的效果一樣,不會產生碎片。

磁碟碎片的產生是因為windows的處理方法關係(其實是微軟懶),不過你也不用處理,因為有了新檔案自然會覆蓋。。。。。。。。。

而將檔案變為空白,只是改變了檔案在分割槽中的記錄位置,也能被還原。最好用**產生一定數量的與原始檔相同長度的字串來覆蓋,然後再刪除。具體**你不要懶,自己想去吧~~~~~~·

4樓:乁倲亼

比如是在c盤....你先 kill 了。。。再呼叫cmd命令 defrag c: -f 就行了咯。。。

VB刪listbox中紀錄的問題

private sub command3 click dim name as string name 你要刪除的行 list1.removeitem list1.listindexadodc1.recordsoure select from 表名 where 欄位名 name adodc1.refr...

VB中,用array1,2,3,4,5,6輸入陣列

sub test dim a,b 1 to 3,1 to 2 a array 1,2,3,4,5,6 for i 1 to 3 for j 1 to 2 b i,j a 2 i 1 j 1 next next end if 陣列baib就是 du你zhi要dao的結回果答 vb當中array是什麼意...

Vb的Call語句是什麼來的,vb中的call有什麼用???

vb裡call用來呼叫函式或者過程,不過那是過去的用法了。在vb6裡只要把過程名或者函式名寫在要執行的地方就行了,很久以前是要在前面加上call的 過程sub subpro a,b c a b end sub 函式function funpro a,b as integerfunpro a b en...