很久以前有一個名為 CFAtest 的實用程式可以很好地完成此任務,但它已經消失了。
基本上,我正在尋找一個類似的工具(最好是圖形化的),它將遍歷給定的路徑(最好包括子資料夾)並測試它找到的所有 zip 檔案。
體面的日誌記錄選項將是一個優點。
答案1
尋找每個子資料夾中的每個 zip 文件
這將在當前資料夾 ( ) 的所有子資料夾中找到擴展名為(或或或等,忽略大小寫, )的.
檔案 ( ) ,並測試它們的完整性(選項)是否安靜(選項,一起) 。相當的意思是:不列出zip檔案的內容,而只報告測試結果。-type f
zip
ZIP
Zip
zIp
-iname
-t
-q
-tq
find . -type f -iname '*.zip' -exec unzip -tq {} \;
僅當前資料夾(無子資料夾)
如果您只想檢查當前目錄中的文件,而不是任何子資料夾中的文件,請使用
unzip -tq '*.[Zz][Ii][Pp]'
在包含 zip 檔案的目錄中。這也會檢查檔案副檔名ZIP
或Zip
或zIp
等等,忽略大小寫。
答案2
在 Windows 上我使用7zip:它提供圖形使用者介面,免費並支援多種存檔檔案格式,包括 zip。
在 Windows 資源管理器上導航至要分析的給定資料夾。搜索*.zip
,選擇所有文件,右鍵單擊,選擇“測試存檔”
然後等待(請注意,在 7z 開始測試之前,explorer.exe 需要大約 10 分鐘才能完成 100,000 個 .zip):
答案3
艾瑞克的答案在Mac上對我不起作用,但這適用於當前資料夾和所有子資料夾中的zip:
find . -name '*.zip' -exec unzip -tq {} \;
為每個文件輸出:
No errors detected in compressed data of ./2013-10-16.zip.
答案4
它可能不完全符合您的要求,但有一個名為 Zip2Fix 的工具。
我沒用過,但你可以從這裡下載: