이다 추가 소프트웨어 (나는 그것을 테스트 한)를 설치하지 않고 파일을 압축 할 수. 해결책은 다음과 같습니다.
이를 명령 행 창에서 실행 C:\someArchive.zip
하여 폴더의 모든 파일을 포함 하는 ZIP 파일을 작성하십시오 C:\test3
.
CScript zip.vbs C:\test3 C:\someArchive.zip
파일 zip.vbs
에 다음이 포함되어 있습니다.
' Get command-line arguments.
Set objArgs = WScript.Arguments
Set FS = CreateObject("Scripting.FileSystemObject")
InputFolder = FS.GetAbsolutePathName(objArgs(0))
ZipFile = FS.GetAbsolutePathName(objArgs(1))
' Create an empty ZIP file.
CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" & Chr(5) & Chr(6) & String(18, vbNullChar)
Set objShell = CreateObject("Shell.Application")
Set source = objShell.NameSpace(InputFolder).Items
objShell.NameSpace(ZipFile).CopyHere(source)
' Required to let the ZIP command execute
' If this script randomly fails or the ZIP file is not complete,
' just increase to more than 2 seconds
wScript.Sleep 2000
공백이 포함 된 경로 및 파일 이름에 대해서는 테스트하지 않았습니다. 명령 줄 매개 변수를 따옴표로 묶으면 작동 할 수 있습니다.
작동 방식 : Windows에 내장 된 zip 기능 (Windows XP 이상)은 Windows 셸인 explorer.exe의 COM 인터페이스 ( "Shell.Application"부분 )를 통해 노출됩니다 . 이 COM 인터페이스는 VBScript 스크립트 에서 사용할 수 있습니다. 이러한 스크립트는 COM 구성 요소에 액세스 할 수 있기 때문입니다. 스크립트를 완전히 독립적으로 만들기 위해 빈 ZIP 파일을 만들어 시작할 수 있습니다 (빈 ZIP 파일을 만들어 VBScript 스크립트와 함께 대상 시스템에 복사 할 수도 있습니다).
VBScript는 Windows 98 이후 Microsoft Windows의 모든 데스크탑 릴리스에 기본적으로 설치되었습니다.
CScript.exe
Windows Script Host의 일부입니다 . Windows 스크립트 호스트는 기본적으로 Windows 98 이상 버전의 Windows에서 배포 및 설치됩니다. Internet Explorer 5 이상 버전이 설치된 경우에도 설치됩니다.