Це є можливість промайнути файлами без встановлення будь - якого додаткового програмного забезпечення (я тестував). Рішення таке:
Запустіть це у вікні командного рядка, щоб створити ZIP-файл, який C:\someArchive.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
Я не перевіряв це на шляхи та назви файлів, що містять пробіли. Це може спрацювати, якщо лапки ставитимуться навколо параметрів командного рядка.
Як це працює: вбудована функція zip в Windows (Windows XP та новіших версій?) Відкривається через COM- інтерфейси із оболонки Windows, explorer.exe - це частина "Shell.Application". Цей COM-інтерфейс можна використовувати із сценарію VBScript, оскільки такий сценарій може отримати доступ до компонентів COM. Щоб зробити скрипт повністю автономним, він створить порожній ZIP-файл для початку роботи (можна також створити порожній ZIP-файл і скопіювати його в цільову систему разом із сценарієм VBScript).
VBScript встановлений за замовчуванням у кожному випуску робочого столу Microsoft Windows з Windows 98.
CScript.exe
є частиною хоста сценарію Windows . Хост сценаріїв Windows розповсюджується та встановлюється за замовчуванням у Windows 98 та новіших версіях Windows. Він також встановлюється, якщо встановлено Internet Explorer 5 (або більш пізню версію).