PDA

Показать полную графическую версию : [решено] WshShell.Run Архивирование файла с пом 7zip


Dt83
09-06-2011, 14:54
Доброго дня!

Начала изучать Wsh, на простом примере не совсем понятен синтаксис. Например нужно заархивировать файл D:\test\test.txt в этой же директории. Команда в 7-zip для добавления в архив - "a", как корректно записать скрипт?

Код:

Set WshShell = CreateObject("WScript.Shell")

WshShell.Run("""C:\Program Files\7-Zip\7zFM.exe"" a ?????)

Спасибо!

iMirRor
09-06-2011, 15:35
Не надо использовать программу 7zFM - это файловый менеджер архиватора (оболочка), используйте "7z".
У меня скрипты через VBS, но сути это не меняет, вот старый скрипт, который архивировал все файлы в определенной папке и помещал архив в другое место:
WSHell.Run "7z a -tzip D:\backup\1C\1SBDB\rab"+daydate+".zip -r e:\base\1cv77\1sbdb\* -x!*.cdx", 2, true
после параметра "а" идет путь и название архива, параметр "-r" - что архивировать, -x! - что не включать в архив (можно опустить)
Имя тут формируется из слова "rab, потом идет текущая дата, потом ".zip". Текущая дата формируется так
daydate=right(date,2)&left(right(date,7),2)&left(date,2)
в вашем случае:
"7z a -tzip ""D:\test\test.zip"" -r ""D:\test\test.txt"""

Dt83
09-06-2011, 16:08
Спасибо большое :)

Теперь ясно! Еще раз благодарю!

Вот что получилось:

Set WshShell = CreateObject("WScript.Shell")

WshShell.Run ("""C:\Program Files\7-Zip\7z"" a -tzip ""D:\test\test.zip"" -r ""D:\test\test.txt""")




© OSzone.net 2001-2012