我正在嘗試將一個硬碟的內容複製到另一個硬碟。
但一旦複製完成,副本所佔用的空間將比原始文件少。
因此並非所有文件都被複製。
我懷疑這可能是因為在一定數量的資料夾之後,文件沒有被複製。
它是否正確?如果是這樣,我怎麼能防止這種情況發生?
作業系統:Windows 8.1 專業版
抱歉,我的意思是 700國標不是MB!!
我現在正在 Linux 上嘗試,看看是否會發生相同的情況。
答案1
簡短回答:
不必要。它只能是設備之間的簇大小不同。
多說幾句:
當您將檔案從一個裝置複製到另一個裝置(從一個 HDD 複製到另一個裝置)時,您甚至必須考慮不同的叢集大小。無需進入太深的內部檔案系統類型的動物園這裡只要說分區被組織為算術練習簿就足夠了,位元組以扇區分組的方式與在練習簿中您可以說正方形按頁分組的方式類似。空閒和已用空間(FAT)的索引僅考慮那些團體。這些扇區可以是空閒的或已滿的,第三非達圖爾。
因此,文件具有所使用的有效位元組的大小(如果它是文字文件並且僅包含單字“你好「它將是2Bytes),以及設備上使用的空間大小(如果一個扇區是4kB,它將是4kB 的倍數,如果在另一個設備上,扇區是512 字節,它將是512B 的倍數) 。
另一方面,複製大量文件時,您可能會在寫入或讀取操作中出現錯誤,您可能無權存取某些文件,或者如果操作時間較長且同時刪除某些文件,該文件是臨時文件。
這通常是由您正在使用的程式透過一些錯誤訊息和錯誤退出代碼來通知的。例如在 Linux 下,您可以透過在 shell 中寫入來捕獲退出程式碼echo $?
。如果它傳回一個不同於 0 的值,則表示錯誤。如果你沒有提前收到這些訊息,你必須檢查一下後驗的。
之後你複製了大量的文件你可以檢查,迅速地,如果文件的數量和總有效位元組數匹配。可以透過計算和比較來進行更有效的檢查md5和對於兩個副本上的每個檔案。如果符合則所有內容都OK。至少您可能想檢查權限和日期。
通常很容易依賴特定的工具,例如rsync
對於Linux,robocopy
適用於 Windows,或許多其他可用工具之一。