1. **WinRAR을 사용한 복구**
WinRAR은 데이터 복구 기능을 제공하여 손상된 ZIP 파일을 복원할 수 있습니다. 아래 단계에 따라 복구를 시도해 보세요.
1. WinRAR을 실행하고, 손상된 ZIP 파일을 선택합니다.
2. 상단 메뉴에서 '도구' > '파일 복구'를 클릭합니다.
3. 복구 옵션에서 대상 파일의 저장 경로를 선택한 후 '확인'을 클릭합니다.
4. 복구가 완료되면 새로운 파일이 'rebuilt.FILENAME.zip' 형식으로 생성됩니다.
```plaintext
[WinRAR 사용 예시]
1. U+3000.zip 선택
2. 도구 > 파일 복구 클릭
3. 저장 경로 지정 후 확인
```
2. **Command Line을 통한 복구**
`zip` 명령어를 이용하여 CRC 오류를 무시하고 데이터를 복구할 수 있습니다. 아래는 명령어 사용 예제입니다.
```bash
unzip -FF damaged.zip -d output_directory/
```
위 명령어는 오류를 무시하고 가능한 한 많은 파일을 복구하여 'output_directory'에 저장합니다.
```plaintext
[명령어 예시]
$ unzip -FF corrupted_file.zip -d fixed_output/
```
3. **Python 스크립트를 통한 자동 복구**
소규모 프로젝트에서는 `python` 스크립트를 사용하여 ZIP 파일의 손상 여부를 체크하고 복구할 수 있습니다. 이 방식은 파일을 자동으로 분할하여 각 파일을 개별적으로 검사할 수 있습니다.
```python
import zipfile
from zipfile import ZipFile, BadZipFile
def repair_zip(file_path, extract_dir):
try:
with ZipFile(file_path, 'r') as zip_ref:
zip_ref.extractall(extract_dir)
print("Extraction successful!")
except BadZipFile:
print("Bad CRC error: Attempting extraction ignoring CRC errors")
with ZipFile(file_path, 'r') as zip_ref:
for file_name in zip_ref.namelist():
try:
zip_ref.extract(file_name, extract_dir)
except zipfile.error as e:
print(f"Failed to extract {file_name}: {e}")
repair_zip('damaged.zip', './extracted_files/')
```
이 스크립트는 파일의 무결성을 검토하고 오류가 발생했을 경우 가능한 파일을 각각 추출하여 저장소(`extracted_files`)에 저장합니다.
CRC 오류가 발생한 ZIP 파일을 복구할 때는 여러 가지 방법을 조합하여 가장 적합한 결과를 얻을 수 있습니다. 상황에 따라 WinRAR, 명령어 또는 스크립트를 사용해 보세요.