큰 폴더를 많은 20Mb 파일로 압축하는 방법을 찾고 있습니다. zip 파일을 더 작은 파일로 나누고 싶지 않습니다. 대신 압축 할 때 일부 하위 파일 / 폴더를 20Mb 그룹으로 그룹화하고 싶습니다.
그렇게하는 방법을 알고 있다면 도와주세요!
최신 정보
압축을 풀 수있는 작은 압축 파일 만 사용해야합니다.
내 의도는 virustotal.com 을 사용 하여 큰 폴더를 스캔하는 것입니다.
답변
winzip에서 : winzip을 시작하고 winzip에 추가 또는 끌어서 놓거나 파일을 마우스 오른쪽 단추로 클릭하고 winzip ‘zip에 추가 …’를 사용하여 파일을 zip에 추가하십시오.
그런 다음 winzip에서 :
동작- ‘부품 크기’하단에서 분할 ‘기타 크기’를 선택한 다음 20을 입력하고 mb를 선택하십시오.
끝난!
답변
당신이 제안하는 것은 본질적으로 배낭 문제 의 변형이며 , 파일 압축으로 인해 각 항목이 20MB “백팩”을 얼마나 차지하는지 알지 못하는 트위스트가 추가되었습니다.
물론 사소한 해결책은 각 파일을 독립적으로 압축하는 것이지만 파일 수를 줄이는 데 실패하므로 만족스러운 해결책이 아니라고 생각합니다.
이 문제가 발생하면 각 파일을 임시 위치 (또는 디스크에 쓰지 않고 메모리에서)로 압축하여 시작하여 각 파일에 대한 대략적인 압축 크기를 얻을 수 있다고 가정합니다. 이 정보를 사용하여 배낭 문제에 대한 표준 접근 방식으로 그룹화 할 파일을 결정하고 실제 zip 파일을 작성할 수 있습니다.
스크립팅 언어를 사용할 수 있고 사용 방법을 알고 있다고 가정하면이 방법이 자동화하기가 매우 간단 할 것으로 예상됩니다. 처리해야 할 파일이 여러 개 있으면 수동으로 처리하는 것이 상당히 지루할 것입니다 …
답변
zip을 통해 분할을 수행하게하면 스스로 알아내는 것보다 자동화하기가 훨씬 쉽습니다. 목표가 20MB zip 파일 인 경우 아카이브에 추가하기 전에 각 파일의 압축 된 크기를 추정해야합니다. zip이 당신을 위해 분할하는 것을 원하지 않는 이유가 있습니까? gnu zip을 사용하여 수행하는 방법은 다음과 같습니다.
zip -s 20m -r myzip.zip mydir
파일 이름에 증분 색인 번호가있는 20MB 압축 파일이 생성됩니다.
답변
Linux에는 정확히 이것을 수행하는 zipsplit 이라는 프로그램 이 있습니다. 표준 우편 패키지의 일부입니다.
다음과 같이 실행할 수 있습니다.
zipsplit bigfile.zip -n 20000000
bigfile.zip을 최대 20MB의 부분으로 분할합니다. 포함 된 개별 파일은 분할 되지 않습니다 . 따라서 각 부분을 개별적으로 압축 해제 할 수 있습니다. 이는 최대 부품 크기에 맞지 않는 단일 파일이있는 경우 분할이 불가능하다는 것을 의미합니다.
업데이트 :
info-zip.org의 Windows 바이너리, 특히 Win 64의 경우 ftp://ftp.info-zip.org/pub/infozip/win32/zip300xn-x64.zip 에 Windows 용 바이너리가있는 것 같습니다 .
답변
쉬운 전망은 아닙니다.
필자는 최근 DVD에 쉽게 저장하기 위해 4.3GB 이하의 하위 디렉토리로 파일을 수집하는 스크립트를 작성했지만 모두 압축되지 않았습니다.
압축으로 수행-이제 도전이 있습니다. 압축 후 파일 크기를 예측할 수 없습니다. 20MB를 초과 할 때까지 zip에 파일을 내림차순으로 파일을 계속 추가 한 다음 마지막 파일을 제거하여 20MB 이하로 떨어질 때까지 작은 파일로 교체하면됩니다. . 모든 파일을 소진하고 여전히 20MB 이상인 경우 마지막 파일을 삭제하고 다음 zip으로 이동하십시오.
상당히 까다로운 스크립팅과 다소 느리고 고통스러운 프로세스입니다.
답변
답변
Dave는 OP가 요청한 것에 가장 가까운 프로그램 가능한 솔루션을 제공하는 것 같습니다 . 다음과 같은 가정을한다면 수동 으로도 수행 할 수 있다는 것을 알았 습니다 (순수한 기술적 문제는 아닙니다. 기술적 문제보다는 조직적인 문제입니다).
- 이후 영업 이익은 각각 zip 파일은 독립적으로 모든 내용을 추출 할 수있는 기능을 요구 , 20MB의 능가 파일 다음 중 한 가지 방법으로 처리해야합니다 압축하는 후 :
- 압축 파일은 반드시 정확히 20MB 일 필요는 없습니다.
- 대략 20MB 크기의 zip 파일을 여러 개 갖는 것이 더 중요한 경우 압축없이 압축을 수행 할 수 있습니다.
이 방법을 7-zip (Windows 인터페이스 및 터미널)과 함께 사용 하여 새로 생성 된 zip 파일의 압축을 유지했습니다.
모든 파일을 원하는 압축 방법을 사용하여 빈 폴더의 단일 zip 파일로 압축하여 시작하십시오 (예 🙂 ALL.zip
.
- 크기 또는 압축 크기 (압축) 열을 클릭하여 파일 및 폴더 목록을 정렬하십시오.
- 가장 작은 크기부터 시작하여 zip으로 그룹화 할 파일 / 폴더를 선택하십시오.
- 언론
Test
그들의 집단 크기를 (이 자신의 압축을 고려) 확인 버튼을 :
- 언론
Extract
또는Copy
하여 추출 경로의 끝에 새 폴더의 이름 (예 :에 추가하는 동안 버튼을plu_8MB
) ALL.zip
zip 내부에서 방금 추출한 파일 (삭제 실수로 인한 추출을 피함)을 삭제하고 다음 폴더 또는 파일 하위 세트로 이동하십시오.- 다음 중 하나 를 반복 하십시오.
- 독립적 인 zip 파일을 작성하려는 경우 1-5 단계;
- 1-3 단계를 수행하고 집합 크기가 약 20MB가 될 때까지 동일한 폴더 이름 (4 단계)을 재사용하십시오.
- 모든 내용
ALL.zip
을 독립 폴더로 추출한 후 해당 zip을 삭제하고 해당 폴더에서 터미널을여십시오 . -
유형:
for /F %i in ('dir /b') do "C:\Program Files\7-zip\7z.exe" a -tzip %i.zip %i
를 누르면 ENTER방금 추출한 각 폴더에 대한 zip 파일이 생성됩니다.