다른 폴더에 있는 파일을 압축할 때 폴더 무결성을 유지하려면 어떻게 해야 합니까?

다른 폴더에 있는 파일을 압축할 때 폴더 무결성을 유지하려면 어떻게 해야 합니까?

매일 전용 서버에서 실행되고 파일을 압축하는 배치 파일이 있습니다.

다음은 배치 파일의 일부입니다.

%SUBDIR%7z a -tzip %fullname%  %datapath%\*.txt >>%LOGFILE%
%SUBDIR%7z a -tzip %fullname%  %datapath%\spoolq.q >>%LOGFILE%
%SUBDIR%7z a -tzip %fullname%  %datapath%\vblib\shared\settings.cfg >>%LOGFILE%
%SUBDIR%7z a -tzip %fullname%  %datapath%\sssusers.d >>%LOGFILE%
%SUBDIR%7z a -tzip %fullname%  %datapath%\#library\*prt.cfg >>%LOGFILE%
%SUBDIR%7z a -tzip %fullname%  %datapath%\#library\printer.txt >>%LOGFILE%
%SUBDIR%7z a -tzip %fullname%  %datapath%\#library\netuse.text >>%LOGFILE%
%SUBDIR%7z a -tzip %fullname%  %datapath%\*.cfg >>%LOGFILE%

배치 파일은 내가 원하는 파일을 가져오지만 파일은 모두 원래 디렉터리가 아닌 동일한 디렉터리에 있습니다.

파일을 추출할 때 시도해 보았지만 7z x filename.zip다른 결과는 나오지 않았습니다.

압축할 때 스위치를 지정해야 합니까?

도와 주셔서 감사합니다!

편집하다

방금 7z에게 해당 파일을 있는 그대로 아카이브에 넣으라고 말하고 있다는 것을 깨달았습니다. 이제 제 질문은 파일을 압축할 때 원래 폴더 구조를 유지하는 방법이 있다는 것입니다.

답변1

꽤 약하지만 드라이브나 백슬래시가 없는 상대 경로를 사용해야 합니다. 귀하
의 예 에서는 .%datapath%"users\johnny\filespec""c:\users\filespec"

Cd \
7z a –tzip myzip.zip users\johnny\tmp\tmp2\TMP2.TXT

폴더 구조를 저장합니다.

그런 다음 압축한 동일한 폴더에서 . ..

7z x myzip.zip

7z는 폴더 구조로 다시 넣습니다.

현재 위치 아래에 폴더가 생성되므로 압축한 동일한 폴더에서 압축을 풀어야 합니다.

관련 정보