
當您使用像 Recuva 這樣的資料復原程式時,它可以「恢復」大量文件,其中許多文件無法使用其中的隨機數據,但不知何故具有正確的檔案名稱。有沒有辦法自動檢測那些文件或有意義數據但需要修復的文件並刪除其餘的垃圾文件?
答案1
在 Linux 下,該實用程式file
可能值得研究。它使用三種不同類型的測試來「測試」您傳遞給它的每個文件,而不是依賴文件名的副檔名。 (man file
有關不同測試的說明,請參閱 參考資料)。
這是一種測試目錄中每個檔案並將其複製到新資料夾(如果它是 JPEG 影像)的方法。
#!/bin/bash
mkdir useful
for cfile in *; do
fileres=$(file -b --mime-type "${cfile}")
if [[ "${fileres}" == "image/jpeg" ]]; then
cp "${cfile}" "useful/"
fi
done
在包含所有復原檔案的目錄中執行此腳本,它將僅將 jpeg 檔案複製到該useful
目錄。如果您正在尋找其他文件類型,只需將image/jpeg
我的腳本中的 替換為您感興趣的文件的 mime 類型即可。