Cara Memeriksa Pustaka Foto Terkonsolidasi untuk Fail yang Rosak
Untuk memeriksa pustaka foto terkonsolidasi, imbas setiap imej dengan penyahkod yang membaca data imej, simpan laporan fail yang gagal atau mencetuskan amaran, kemudian periksa fail tersebut satu demi satu sebelum menggantikan atau memulihkan apa-apa. Semakan pantas lakaran kecil atau saiz fail dapat menemui masalah yang ketara, tetapi tidak dapat memastikan bahawa keseluruhan imej boleh dibaca. Aliran kerja ini menggunakan magick identify daripada ImageMagick dan bertujuan untuk pustaka yang disimpan pada pemacu setempat atau pemacu yang dipasang.
Perkara yang boleh dan tidak boleh diberitahu oleh semakan kerosakan
Fail mungkin mempunyai sambungan yang biasa dan saiz yang munasabah, tetapi mengandungi data imej yang terpotong atau rosak. Sebaliknya, fail yang boleh dibuka dalam satu pemapar mungkin masih menghasilkan amaran atau gagal dalam penyahkod yang lain. Imbasan merekodkan cara satu alat membaca fail; ia tidak membuktikan bahawa setiap piksel kelihatan betul atau setiap aplikasi akan mentafsir fail dengan cara yang sama.
magick identify daripada ImageMagick melaporkan ciri-ciri imej dan boleh melaporkan fail yang tidak lengkap atau rosak. Untuk semakan yang bermakna, gunakan +ping bagi meminta pembacaan penuh: ImageMagick menerangkan bahawa mod ping lalainya hanya membaca maklumat yang diperlukan untuk pengenalpastian asas dan mungkin tidak membaca keseluruhan imej. Tambahkan -regard-warnings supaya amaran mempengaruhi status keluar arahan. Dokumentasi ImageMagick Identify, Penggunaan Asas ImageMagick
Anggap hasilnya sebagai saringan awal. Amaran yang dilaporkan wajar disemak; ia tidak dengan sendirinya membuktikan bahawa foto itu tidak boleh digunakan. Imbasan yang bersih bermaksud penyahkod ini selesai tanpa melaporkan masalah, bukannya gambar itu kelihatan betul atau semua butiran khusus format fail adalah sah.
Sediakan pustaka sebelum mengimbas
Mulakan dengan salinan atau sandaran yang stabil. Jangan jalankan pembaikan atau penukaran pada satu-satunya salinan fail: sesetengah usaha pemulihan boleh mengubah data, manakala penulisan yang terganggu boleh memburukkan lagi kerosakan fail. Jika pustaka terkonsolidasi merangkumi beberapa pemacu atau folder, catat setiap direktori akar yang ingin anda sertakan.
Tutup perisian yang sedang mengimport, menyunting atau menyegerakkan koleksi. Ini mengurangkan kemungkinan fail berubah semasa diimbas. Pastikan pemacu yang dipasang tersedia dan akaun imbasan boleh membacanya. Ralat kebenaran atau volum yang terputus sambungan mesti dianggap sebagai kawasan yang belum diimbas, bukannya hasil yang bersih.
Pasang ImageMagick daripada pengedaran rasminya untuk sistem pengendalian anda, kemudian pastikan arahan magick tersedia dalam terminal. Ujinya pada beberapa imej yang diketahui terlebih dahulu. Ejaan arahan ImageMagick adalah untuk versi 7; pemasangan lebih lama mungkin menggunakan nama arahan yang berbeza. Jangan anggap ralat arahan tiada atau format tidak disokong sebagai bukti bahawa fail rosak.
Jalankan imbasan penuh dan simpan laporan
Pada macOS atau Linux, Bash boleh mengimbas pustaka secara rekursif dan menulis kegagalan serta amaran ke dalam log berasingan. Gantikan /path/to/photo-library dan laluan laporan dengan lokasi sebenar anda. Simpan laporan di luar pustaka yang diimbas supaya imbasan tidak menganggapnya sebagai imej.
: > "$HOME/photo-scan-errors.log"
find "/path/to/photo-library" -type f -print0 |
while IFS= read -r -d '' file; do
if ! magick identify +ping -regard-warnings "$file" >/dev/null 2>>"$HOME/photo-scan-errors.log"; then
printf '%s\n' "$file"
fi
done
Terminal mencetak laluan fail yang pemeriksaannya gagal; log merekodkan mesej diagnostik daripada ImageMagick. Gelung ini merangkumi setiap fail, jadi fail bukan imej juga mungkin dilaporkan sebagai format yang tidak dikenali. Ini memang dijangka jika pustaka mengandungi fail sidecar, dokumen atau kandungan bukan imej yang lain. Untuk arkib bercampur, anggap “format tidak diketahui” secara berasingan daripada ralat penyahkod dan kecilkan imbasan kepada sambungan imej yang diketahui jika perlu. Penapisan sambungan mungkin terlepas imej yang namanya menggunakan sambungan yang luar biasa atau tiada sambungan.
Jika log kosong dan tiada laluan dicetak, imbasan tidak menghasilkan diagnostik atau kegagalan dalam pemeriksaan penyahkod ini. Pastikan laluan akar betul dan imbasan selesai; laporan kosong akibat kesilapan menaip, pemacu yang tidak boleh diakses atau arahan yang terganggu bukanlah keputusan lulus. Untuk pustaka yang sangat besar, imbas satu folder atau pemacu pada satu masa dan labelkan setiap laporan supaya anda tahu bahagian yang telah diliputi.
Semak setiap fail yang ditandai dengan selamat
Gunakan laluan yang dicetak untuk mencari fail asal, kemudian jalankan pemeriksaan pada fail itu sahaja untuk mendapatkan diagnostik yang lebih jelas: magick identify +ping -regard-warnings \"/full/path/to/file.jpg\". Catat mesejnya dan bandingkan dengan hasilnya dalam pemapar atau penyunting kedua. Periksa sama ada fail dipaparkan sepenuhnya, hanya sebahagiannya atau langsung tidak dipaparkan. Perlu diketahui bahawa aplikasi mungkin memaparkan pratonton terbenam walaupun data imej utama rosak.
Catat tiga kes secara berasingan: fail yang gagal dinyahkod, fail yang dinyahkod dengan amaran, dan fail yang dinyahkod tetapi kelihatan tidak lengkap secara tidak dijangka atau rosak secara visual. Ini menjadikan tindakan susulan lebih berguna daripada menganggap semua amaran serupa. Format berbilang bingkai seperti GIF atau TIFF boleh mengandungi beberapa imej dalam satu fail; periksa bingkai atau halaman yang berkenaan jika masalah hanya muncul selepas bingkai pertama.
Pilih cara pemulihan tanpa menulis ganti sumber
Jika terdapat salinan lain, bandingkannya sebelum cuba membaiki fail. Cincangan fail boleh menunjukkan sama ada dua salinan mempunyai kandungan yang sama tepat: Microsoft menerangkan bahawa cincangan yang sepadan mengenal pasti kandungan fail yang serupa, manakala nama atau sambungan yang berbeza tidak menjejaskan cincangan. Contohnya, Get-FileHash dalam PowerShell menggunakan SHA-256 secara lalai. Microsoft Learn: Get-FileHash
Cincangan yang sepadan menunjukkan bahawa dua salinan itu serupa bait demi bait; ia tidak membuktikan bahawa salah satu salinan berada dalam keadaan baik. Jika kedua-dua salinan gagal dengan cara yang sama, cari sandaran atau sumber asal yang lain. Jika satu salinan lulus dan satu lagi gagal, simpan salinan yang berfungsi dan gantikan salinan yang rosak hanya selepas mengesahkan bahawa kedua-dua fail ialah foto yang sama. Simpan fail asal yang ditandai sehingga salinan gantian disahkan.
Jika tiada salinan yang baik, buat salinan berasingan bagi fail yang ditandai sebelum mencuba alat pemulihan khusus format. Semak semula hasil yang dipulihkan dari awal, bukanya dalam pemapar dan bandingkan dimensi atau ciri lain yang dijangka. ExifTool menyatakan bahawa ia tidak direka sebagai pengesah imej; semakan -validate memberikan pemeriksaan tambahan terutamanya untuk JPEG dan TIFF. Oleh itu, gunakan alat ini sebagai diagnostik tambahan, bukannya ujian lulus/gagal sejagat. Soalan Lazim ExifTool: Bolehkah ExifTool digunakan sebagai pengesah imej?
Sahkan liputan dan simpan rekod yang berguna
Sebelum menganggap audit selesai, pastikan setiap folder yang dimaksudkan telah disertakan, imbasan sampai ke penghujung dan laporan telah disimpan. Semak mesej yang menunjukkan pemacu tidak boleh dibaca, masalah kebenaran, format tidak disokong atau penyahkod tiada secara berasingan daripada kegagalan membaca imej yang disahkan. Jalankan semula pemeriksaan pada fail yang dipulihkan dan semak sampel koleksi dalam pemapar imej, dengan memberikan perhatian tambahan kepada item yang ditandai dan fail berbilang bingkai.
Simpan tarikh imbasan, versi ImageMagick, folder yang diimbas dan log kegagalan bersama nota penyelenggaraan anda. Rekod itu memudahkan perbandingan dengan imbasan pada masa hadapan dan membantu membezakan amaran lama daripada masalah pembacaan baharu. Pemeriksaan yang teliti menggabungkan pembacaan penuh oleh penyahkod, semakan visual yang disasarkan dan pengesahan salinan gantian; tiada satu arahan pun dapat membuat pertimbangan tersebut untuk anda.
