![7 zip을 사용하여 단일 명령으로 여러 파일을 zip으로 전달하는 방법은 무엇입니까?](https://rvso.com/image/1457470/7%20zip%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%8B%A8%EC%9D%BC%20%EB%AA%85%EB%A0%B9%EC%9C%BC%EB%A1%9C%20%EC%97%AC%EB%9F%AC%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20zip%EC%9C%BC%EB%A1%9C%20%EC%A0%84%EB%8B%AC%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
아래에 언급된 파일을 포함할 폴더가 하나 있습니다.
destiny.txt
destiny1.txt
destiny2.txt
destiny3.txt
destiny4.txt
destiny5.txt
destiny6.txt
destiny7.txt
그중 destiny1.txt, destiny4.txt, destiny6.txt는 배치1에서 가져온 것입니다.
7zip
파일을 압축하는 데 사용하고 있습니다 .
을(를) 생성하기 위해 단일 단계로 이 3개 파일을 전달할 수 있습니까 DestinyTest.zip
?
가능합니까?
답변1
을(를) 생성하기 위해 단일 단계로 이 3개 파일을 전달할 수 있습니까
DestinyTest.zip
?
7zip의 명령줄 버전을 사용할 수 있습니다 7z
.
명령줄에서:
7z a -tzip DestinyTest.zip destiny1.txt destiny4.txt destiny6.txt
a
- 아카이브에 파일을 추가합니다.-tzip
- 아카이브 유형을 지정합니다(zip
아카이브를 생성 중입니다).
추가 읽기
답변2
zip을 만들 파일을 나열하는 파일이 있는 경우, 예를 들어
각 줄에 하나씩 보관할 파일 목록을 만듭니다. 이것은 @-list입니다. DOS 시절에는 여러 proggies가 각 라인에 대해 이 작업을 수행했습니다.
를 사용하여 이러한 파일을 만든 dir /b destin*.* > zipme.lst
다음 ASCII 편집기(메모장 또는 편집)에서 줄을 제거할 수 있습니다.
type zipme.lst destiny1.txt destiny4.txt destiny6.txt 7za a -tzip DestinyTest.zip @zipme.lst
zipme.lst를 찾아 여기에 나열된 모든 파일을 추가합니다. 이는 명령줄보다 길 수 있으며 어느 정도 제어할 수 있습니다.
답변3
비슷한 문제가 있었는데배치 스크립트. 방법은 다음과 같습니다.
아래 예에서 스크립트는 "cell_cfg" 및 "slave_cfg"로 시작하는 모든 .csv 파일을 찾아 수집한 후 'zip'이라는 하위 디렉터리에 저장된 'cfg.7z'라는 하나의 파일로 압축합니다.
@ECHO OFF
setlocal enableDelayedExpansion
mkdir zip
ECHO collecting filenames...
set filenames="C:\Program Files\7-Zip\7z.exe" a -t7z "zip/cfg.7z
FOR %%i IN (cell_cfg*.csv) DO (
ECHO "%%i" | FIND /I "zip_cfg.bat" 1>NUL) || (
SET filenames=!filenames!" "%%i
)
)
FOR %%i IN (slave_cfg*.csv) DO (
ECHO "%%i" | FIND /I "zip_cfg.bat" 1>NUL) || (
SET filenames=!filenames!" "%%i
)
)
set filenames=%filenames%"
%filenames%
(7z.exe 경로와 파일/폴더 이름을 조정하세요. .7z 대신 .zip을 원할 경우 줄 이름을 바꾸세요.
set filenames="C:\Program Files\7-Zip\7z.exe" a -t7z "zip/cfg.7z
~ 안으로
set filenames="C:\Program Files\7-Zip\7z.exe" a -tzip "zip/cfg.zip
)
저는 'zip_cfg.bat'로 저장하고 압축하고 싶은 파일이 있는 폴더에 넣어두었습니다. 그런 다음 명령줄에서 호출할 수 있습니다. 먼저 파일이 있는 폴더로 이동한 다음 다음을 호출하면 됩니다.
zip_cfg.bat
폴더("*")의 모든 파일을 압축하려는 경우 'FIND /I "zip_cfg.bat" 1>NUL' 부분은 스크립트가 배치 파일 자체를 압축하는 것을 중지합니다.
이것이 누군가에게 도움이 되기를 바랍니다... :)