2012-06-19 3 views

ответ

2

Существует хорошее решение подобного вопроса на Post on SuperUser, я копировать вставить его ниже.

CScript zip.vbs C: \ test3 C: \ someArchive.zip

Где zip.vbs содержит следующие

'Get command-line arguments. 
Set objArgs = WScript.Arguments 
InputFolder = objArgs(0) 
ZipFile = objArgs(1) 

'Create 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! 
wScript.Sleep 2000 
+0

Я создал файл bat, который включает в себя «CScript zip.vbs C: \ Temp C: \ someArchive.zip», и я создал zip.vbs в том же каталоге. Затем я запускаю файл bat, но он не работает, что я хочу. Где моя ошибка? C: \ Temp - это каталог, который я хочу сжать. – selentoptas

+0

Любые сообщения об ошибках? –

+0

Сообщения об ошибках отсутствуют. Только я вижу, что он не сжимает папку. Затем я создал файл bat, который включает в себя код, который одобрил один из этих ссылок -> http://superuser.com/questions/110991/can-you-zip-a-file-from-the-command-prompt-using -довольно-окна-встроенные-capabili. Он запускается как отдельный файл bat, но когда я копирую его в другой файл bat (в блоке if-else), он не запускается. Я уверен, что нет проблем с if-else. Я не мог понять проблему. – selentoptas

0

Вы можете использовать 3-й инструмент партии, я предлагаю 7-Zip, который имеет версию командной строки, которую вы можете использовать в пакетном режиме.

См. here для получения списка используемых команд и примеров.

+0

Вы можете использовать встроенную команду zip windows, вызывая объект в vbs. –

+1

@JohnMitchell True, отредактированный ответ как предположение, а не требование :) –

Смежные вопросы