Đó là khả năng nén tập tin mà không cài đặt bất kỳ phần mềm bổ sung (Tôi đã thử nghiệm nó). Giải pháp là:
Chạy phần này trong cửa sổ dòng lệnh để tạo tệp ZIP có tên C:\someArchive.zip
chứa tất cả các tệp trong thư mục C:\test3
:
CScript zip.vbs C:\test3 C:\someArchive.zip
Nơi zip.vbs
chứa tập tin :
' 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
Tôi đã không kiểm tra nó cho các đường dẫn và tên tệp có chứa khoảng trắng. Nó có thể hoạt động nếu dấu ngoặc kép được đặt xung quanh các tham số dòng lệnh.
Cách thức hoạt động: chức năng zip tích hợp trong Windows (Windows XP trở lên?) Được hiển thị thông qua giao diện COM từ Windows shell, explorer.exe - đó là phần "Shell.Application". Giao diện COM này có thể được sử dụng từ tập lệnh VBScript vì tập lệnh như vậy có thể truy cập các thành phần COM. Để làm cho tập lệnh hoàn toàn khép kín, nó tạo một tệp ZIP trống để bắt đầu (người ta cũng có thể tạo một tệp ZIP trống và sao chép nó vào hệ thống đích cùng với tập lệnh VBScript).
VBScript đã được cài đặt theo mặc định trong mọi bản phát hành máy tính để bàn của Microsoft Windows kể từ Windows 98.
CScript.exe
là một phần của Windows Script Host . Windows Script Host được phân phối và cài đặt theo mặc định trên Windows 98 và các phiên bản Windows mới hơn. Nó cũng được cài đặt nếu Internet Explorer 5 (hoặc phiên bản mới hơn) được cài đặt.