큰 폴더를 20Mb로 제한된 작은 파일로 압축하는 방법은 무엇입니까?


10

큰 폴더를 많은 20Mb 파일로 압축하는 방법을 찾고 있습니다. zip 파일을 더 작은 파일로 나누고 싶지 않습니다. 대신 압축 할 때 일부 하위 파일 / 폴더를 20Mb 그룹으로 그룹화하고 싶습니다.

그렇게하는 방법을 알고 있다면 도와주세요!

최신 정보

압축을 풀 수있는 작은 압축 파일 만 사용해야합니다.

내 의도는 virustotal.com 을 사용 하여 큰 폴더를 스캔하는 것입니다.


사용중인 운영 체제에 대한 세부 사항이 있습니까?
Pitto

@Pitto 저는 Windows-7을 사용합니다
Nam G VU

답변:


10

winzip에서 : winzip을 시작하고 winzip에 추가 또는 끌어서 놓거나 파일을 마우스 오른쪽 단추로 클릭하고 winzip 'zip에 추가 ...'를 사용하여 파일을 zip에 추가하십시오.

그런 다음 winzip에서 :

동작- '부품 크기'하단에서 분할 '기타 크기'를 선택한 다음 20을 입력하고 mb를 선택하십시오.

끝난!


4
자유 공간에도 머무르면 7zip도 완벽하게 작동합니다.
Pitto

3
이렇게하면 zip 파일이 분할되고 분할 된 부분 만 사용할 수 없습니다.
Nam G VU

OMG 지금은 더 잘 이해 당신을 위해 무엇을 ... 난 그냥 당신에게 다음 문제 :( 어떤 로컬 파일을 검사하도록 자유와 놀라운 Malwarebytes 맬웨어 방지를 사용하는 방법에 대한 솔루션의 어떤 종류를 찾을 수 없습니다 찾고?
Pitto

6

당신이 제안하는 것은 본질적으로 배낭 문제 의 변형이며 , 파일 압축으로 인해 각 항목이 20MB "백팩"을 얼마나 차지하는지 알지 못하는 트위스트가 추가되었습니다.

물론 사소한 해결책은 각 파일을 독립적으로 압축하는 것이지만 파일 수를 줄이는 데 실패하므로 만족스러운 해결책이 아니라고 생각합니다.

이 문제가 발생하면 각 파일을 임시 위치 (또는 디스크에 쓰지 않고 메모리에서)로 압축하여 시작하여 각 파일에 대한 대략적인 압축 크기를 얻을 수 있다고 가정합니다. 이 정보를 사용하여 배낭 문제에 대한 표준 접근 방식으로 그룹화 할 파일을 결정하고 실제 zip 파일을 작성할 수 있습니다.

스크립팅 언어를 사용할 수 있고 사용 방법을 알고 있다고 가정하면이 방법이 자동화하기가 매우 간단 할 것으로 예상됩니다. 처리해야 할 파일이 여러 개 있으면 수동으로 처리하는 것이 상당히 지루할 것입니다 ...


1
'압축 없음'으로 압축 할 수 없습니까? op의 "업데이트"를 보면 파일 형식이 압축보다 더 중요한 것 같습니다.
Pricey

1
흠 ... 좋은 지적이다. 압축없이 간단한 아카이브로 zip을 사용하는 것은 고려하지 않았습니다.
Dave Sherohman

@DaveSherohman 그렇다면 어떻게해야합니까?
Nam G VU

5

zip을 통해 분할을 수행하게하면 스스로 알아내는 것보다 자동화하기가 훨씬 쉽습니다. 목표가 20MB zip 파일 인 경우 아카이브에 추가하기 전에 각 파일의 압축 된 크기를 추정해야합니다. zip이 당신을 위해 분할하는 것을 원하지 않는 이유가 있습니까? gnu zip을 사용하여 수행하는 방법은 다음과 같습니다.

zip -s 20m -r myzip.zip mydir

파일 이름에 증분 색인 번호가있는 20MB 압축 파일이 생성됩니다.


4
다른 답변에 대한 OP의 의견에 따르면, zip을 자동으로 분할하지 않으려는 것처럼 들립니다. 왜냐하면 모든 파일이 올바르게 작동 해야하는 단일 아카이브가 있지만 각 조각이 완전하고 사용 가능한 아카이브가되기를 원합니다. 다른 사람의.
Dave Sherohman

4

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 용 바이너리가있는 것 같습니다 .


3

쉬운 전망은 아닙니다.

필자는 최근 DVD에 쉽게 저장하기 위해 4.3GB 이하의 하위 디렉토리로 파일을 수집하는 스크립트를 작성했지만 모두 압축되지 않았습니다.

압축으로 수행-이제 도전이 있습니다. 압축 파일 크기를 예측할 수 없습니다. 20MB를 초과 할 때까지 zip에 파일을 내림차순으로 파일을 계속 추가 한 다음 마지막 파일을 제거하여 20MB 이하로 떨어질 때까지 작은 파일로 교체하면됩니다. . 모든 파일을 소진하고 여전히 20MB 이상인 경우 마지막 파일을 삭제하고 다음 zip으로 이동하십시오.

상당히 까다로운 스크립팅과 다소 느리고 고통스러운 프로세스입니다.


여기 내 생각. 왜 파일 / 폴더를 <= 20Mb 압축 해제 그룹으로 묶은 다음 압축하지 않겠습니까? .zip 결과 파일이 각각 정확히 20Mb 일 필요는 없습니다.
Nam G VU

가능합니다-스크립팅이있는 창에서 어떻게 진행할 지 확실하지 않습니다 .Linux에서 Perl을 사용했습니다.
Majenko

2

나는 이것이 오래된 스레드라는 것을 알고 있지만 방금 7-zip 으로이 작업을 수행했습니다 .

"Split to Volume"옵션을 사용해야합니다.

여기에 이미지 설명을 입력하십시오


멋있는. 나중에 다시 시도하겠습니다.
Nam G VU

1
작은 압축 파일은 압축을 풀 수 없기 때문에이 특정 시나리오에서는 작동하지 않습니다. 그들은 함께 보관해야합니다.
browly

2

Dave는 OP가 요청한 것에 가장 가까운 프로그램 가능한 솔루션을 제공하는 것 같습니다 . 다음과 같은 가정을한다면 수동 으로도 수행 할 수 있다는 것을 알았 습니다 (순수한 기술적 문제는 아닙니다. 기술적 문제보다는 조직적인 문제입니다).

  1. 이후 영업 이익은 각각 zip 파일은 독립적으로 모든 내용을 추출 할 수있는 기능을 요구 , 20MB의 능가 파일 다음 중 한 가지 방법으로 처리해야합니다 압축하는 후 :
    • 그것들은 고려되지 않아야하므로 분리되어야한다.
    • 다른 답변 ( winzip , 7-zip )이 제안한 것처럼 20MB 볼륨으로 분할해야 하며 결과 파일을 독립적으로 사용할 수 없습니다 (이 첫 번째 가정 위반 ).
  2. 압축 파일은 반드시 정확히 20MB 일 필요는 없습니다.
  3. 대략 20MB 크기의 zip 파일을 여러 개 갖는 것이 더 중요한 경우 압축없이 압축을 수행 할 수 있습니다.

이 방법을 7-zip (Windows 인터페이스 및 터미널)과 함께 사용 하여 새로 생성 된 zip 파일의 압축을 유지했습니다.

모든 파일을 원하는 압축 방법을 사용하여 빈 폴더의 단일 zip 파일로 압축하여 시작하십시오 (예 :) ALL.zip.

  1. 크기 또는 압축 크기 (압축) 열을 클릭하여 파일 및 폴더 목록을 정렬하십시오.
  2. 가장 작은 크기부터 시작하여 zip으로 그룹화 할 파일 / 폴더를 선택하십시오.
  3. 언론 Test그들의 집단 크기를 (이 자신의 압축을 고려) 확인 버튼을 : 테스트 기능
  4. 언론 Extract또는 Copy하여 추출 경로의 끝에 새 폴더의 이름 (예 :에 추가하는 동안 버튼을 plu_8MB)
  5. ALL.zipzip 내부에서 방금 추출한 파일 (삭제 실수로 인한 추출을 피함)을 삭제하고 다음 폴더 또는 파일 하위 세트로 이동하십시오.
  6. 다음 중 하나 를 반복 하십시오.
    • 독립적 인 zip 파일을 작성하려는 경우 1-5 단계;
    • 1-3 단계를 수행하고 집합 크기가 약 20MB가 될 때까지 동일한 폴더 이름 (4 단계)을 재사용하십시오.
  7. 모든 내용 ALL.zip을 독립 폴더로 추출한 후 해당 zip을 삭제하고 해당 폴더에서 터미널을여십시오 .
  8. 유형:

    for /F %i in ('dir /b') do "C:\Program Files\7-zip\7z.exe" a -tzip %i.zip %i
    

    를 누르면 ENTER방금 추출한 각 폴더에 대한 zip 파일이 생성됩니다.


재 압축의 다른 매개 변수에 대해서는 다음 7zip 구문 문서가 있습니다.
CPHPython
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.