Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

윈도우 운영체제에서 기본적으로 사용할 수 있는 압축 해제 방법

물론, ZIP 파일 규격으로 코딩을 하는 것도 가능하지만 때로는 윈도우 운영체제만 설치된 환경에서 압축 해제를 하고 싶은 경우가 있습니다.

기본적으로 윈도우에서는 압축 관련해서 expand.exe 명령어를 제공해 주고 있습니다.

expand
; https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/hh875569(v=ws.10)

expand.exe는 cab 포맷으로 압축된 파일만 열 수 있는데, 이 때문에 makecab.exe 등의 유틸리티를 사용해서 압축을 해야 합니다.

[Dos] makecab.exe 사용예(옵션설명 및 테스트) 
; http://fendee.egloos.com/2229684

makecab.exe 명령어가 윈도우에 기본적으로 포함된 유틸리티라는 장점을 제외하고는, 위의 글에서 보는 것처럼 사용법이 꽤나 까다롭기 때문에 개인적으로는 cabarc 프로그램을 더 선호합니다.

Microsoft Cabinet Format
; https://learn.microsoft.com/en-us/previous-versions/bb417343(v=msdn.10)

Microsoft Cabinet Software Development Kit (cabarc.exe 다운로드)
; http://support.microsoft.com/kb/310618/en-us

이를 이용하면 다음과 같이 재귀적으로 폴더에 포함된 모든 파일을 디렉터리 구조를 유지하면서 .cab 파일로 압축할 수 있고,

cabarc -r -P .\myfolder -p n test.cab .\myfolder\*.*

압축 해제는 expand.exe를 그대로 이용하시면 됩니다. 단지, expand.exe에서 한 가지 아쉬운 점이라면 지정된 대상 폴더(위의 예에서는 output 폴더)가 미리 존재해야 하기 때문에 반드시 이에 대한 고려를 해주어야 합니다.

md output
expand test.cab .\output -F:*.*




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 3/22/2023]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 76  77  78  79  80  [81]  82  83  84  85  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
11972정성태7/3/201926991.NET Framework: 847. JAVA와 .NET 간의 AES 암호화 연동 [1]파일 다운로드1
11971정성태7/3/201921932개발 환경 구성: 447. Visual Studio Code에서 OpenCvSharp 개발 환경 구성
11970정성태7/2/201921878오류 유형: 552. 웹 브라우저에서 파일 다운로드 후 "Running security scan"이 끝나지 않는 문제
11969정성태7/2/201922470Math: 63. C# - 3층 구조의 신경망파일 다운로드1
11968정성태7/1/201929067오류 유형: 551. Visual Studio Code에서 Remote-SSH 연결 시 "Opening Remote..." 단계에서 진행되지 않는 문제 [1]
11967정성태7/1/201923255개발 환경 구성: 446. Synology NAS를 Windows 10에서 iSCSI로 연결하는 방법
11966정성태6/30/201921829Math: 62. 활성화 함수에 따른 뉴런의 출력을 그리드 맵으로 시각화파일 다운로드1
11965정성태6/30/201922343.NET Framework: 846. C# - 2차원 배열을 1차원 배열로 나열하는 확장 메서드파일 다운로드1
11964정성태6/30/201923121Linux: 20. C# - Linux에서의 Named Pipe를 이용한 통신
11963정성태6/29/201922606Linux: 19. C# - .NET Core Unix Domain Socket 사용 예제
11962정성태6/27/201920262Math: 61. C# - 로지스틱 회귀를 이용한 선형분리 불가능 문제의 분류파일 다운로드1
11961정성태6/27/201921202Graphics: 37. C# - PLplot - 출력 모음(Family File Output)
11960정성태6/27/201922184Graphics: 36. C# - PLplot의 16색 이상을 표현하는 방법과 subpage를 이용한 그리드 맵 표현
11959정성태6/27/201923425Graphics: 35. matplotlib와 PLplot의 한글 처리
11958정성태6/25/201927621Linux: 18. C# - .NET Core Console로 리눅스 daemon 프로그램 만드는 방법 [6]
11957정성태6/24/201924634Windows: 160. WMI 쿼리를 명령행에서 간단하게 수행하는 wmic.exe [2]
11956정성태6/24/201924513Linux: 17. CentOS 7에서 .NET Core Web App 실행 환경 구성 [1]
11955정성태6/20/201922538Math: 60. C# - 로지스틱 회귀를 이용한 분류파일 다운로드1
11954정성태6/20/201920424오류 유형: 550. scp - sudo: no tty present and no askpass program specified
11953정성태6/20/201918145오류 유형: 549. The library 'libhostpolicy.so' required to execute the application was not found in '...'
11952정성태6/20/201919447Linux: 16. 우분투, Centos의 Netbios 호스트 이름 풀이 방법
11951정성태6/20/201922670오류 유형: 548. scp 연결 시 "Permission denied" 오류 및 "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!" 경고
11950정성태6/18/201923892.NET Framework: 845. C# - 윈도우 작업 관리자와 리소스 모니터의 메모리 값을 구하는 방법
11949정성태6/18/201919298오류 유형: 547. CoreCLR Profiler 예제 프로젝트 빌드 시 컴파일 오류 유형
11948정성태6/17/201920585Linux: 15. 리눅스 환경의 Visual Studio Code에서 TFS 서버 연동
11947정성태6/17/201923438Linux: 14. 리눅스 환경에서 TFS 서버 연동
... 76  77  78  79  80  [81]  82  83  84  85  86  87  88  89  90  ...